问题解决:ORA-7445[qkaMarkQkn()+] Running a Large Query

网友投稿 724 2022-05-30

目前从事Oracle DBA工作,曾从事 Oracle 数据库开发工作,主要服务于生产制造,汽车金融等行业。

现拥有Oracle OCP,OceanBase OBCA认证,擅长Oracle数据库运维开发,备份恢复,安装迁移,Linux自动化运维脚本编写等。

前言

今天巡检遇到数据库报错 ORA-07445 [qkaMarkQkn] 错误,数据库版本为 11204 (x86_64),错误日志如下:

ORA-07445: 出现异常错误: 核心转储 [qkaMarkQkn()+1478] [SIGSEGV] [ADDR:0x10] [PC:0x1A20E62] [Address not mapped to object] []

关键词:ORA-07445、[qkaMarkQkn()+1478]…

一、问题分析

1、通过 Oracle oerr 工具查看错误代码:

2、抓取trace文件关键信息:

Error: ORA-07445 [qkaMarkQkn()+1478] [SIGSEGV] [ADDR:0x10] [PC:0x1A20E62] [Address not mapped to object]

Error Stack: ORA-7445[qkaMarkQkn]

Main Stack:

qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn

<- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn

<- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkaMarkQkn <- qkadrv2Pre

<- qkadrv2 <- opitca <- kksFullTypeCheck <- rpiswu2 <- kksLoadChild <- kxsGetRuntimeLock

<- kksfbc <- opiexe <- kpoal8 <- opiodr <- kpoodrc <- rpiswu2 <- kpoodr <- upirtrc <- kpurcsc

<- kpuexec <- OCIStmtExecute <- qksanExecSql <- qksanAnalyzeSql <- qksanAnalyzeSegSql

问题已解决:ORA-7445[qkaMarkQkn()+] Running a Large Query

<- kestsaAutoTunePqDrv <- kestsTuneSqlDrv <- kesaiExecAction

SQL脱敏:

Current SQL: /* SQL Analyze(2399,1) */ 一个select查询语句

3、通过查询MOS文档,发现该错误相符合的文档:

ORA-7445[qkaMarkQkn()+1584] Running a Large Query (Doc ID 2094809.1)

4、提交SR的回复:

/* SQL Analyze(2399,1) */ 一个select查询语句

This error typically only impacts the SQL Tuning job itself.

If the error is a one off incident then you can ignore it.

If such errors keep occurring in Jnnn processes when executing package DBMS_SQLTUNE_INTERNAL then a workaround is to disable the Automatic SQL Tuning Tasks as follows:

BEGIN DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'sql tuning advisor', operation => NULL, window_name => NULL ); END; /

This will disable all automatic SQL tuning tasks but you can still perform “on-demand” SQL tuning to get advice on tuning specific SQL statements.

二、解决方案

两种解决方案,任选其一即可。

1、修改_fix_control隐含参数:

alter session set "_fix_control" = '8560951:ON','5483301:ON';

2、修改OPTIMIZER_FEATURES_ENABLE参数

alter session set optimizer_features_enable='11.2.0.4';

参考官方文章:ORA-7445[qkaMarkQkn()+1584] Running a Large Query (Doc ID 2094809.1)

本次分享到此结束啦~

如果觉得文章对你有帮助,

、、关注、评论

,一键四连支持,你的支持就是我创作最大的动力。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:FPGA 核和FPGA Fabric的区别是什么?
下一篇:禅道的安装
相关文章