news 2026/5/8 16:19:40

ORA 600 [qkaQknLTPruneKaf:1] BUG 分析与处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ORA 600 [qkaQknLTPruneKaf:1] BUG 分析与处理

大家好,这里是DBA学习之路,专注于提升数据库运维效率。

前言
今天检查一套 Oracle 12.1 单机数据库发现 alert 日志报错 ORA-600 [qkaQknLTPruneKaf:1],本文记录一下处理过程。

问题描述
日常检查数据库,adrci 检查发现报错:

[oracle@lucifer ~]$ sqlplus-vSQL*Plus: Release12.1.0.2.0 Production adrci>show problem ADR Home=/u01/app/oracle/diag/rdbms/lucifer/lucifer: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME -------------------- ----------------------------------------------------------- -------------------- ----------------------------------------1ORA600[qkaQknLTPruneKaf:1]1131052025-03-2514:02:29.144000 +08:002ORA600[kewuxs_1]1131062025-03-2514:02:42.486000 +08:00

查看 alert 日志:

ORA-00600: internal error code, arguments:[qkaQknLTPruneKaf:1],[],[],[],[],[],[],[],[],[],[],[]ORA-00600: internal error code, arguments:[kewuxs_1],[600],[ORA-00600: internal error code, arguments:[qkaQknLTPruneKaf:1],[],[],[],[],[],[],[],[],[]ORA-06512: at"SYS.DBMS_SQL", line1707ORA-06512: at"SYS.DBMS_FEATURE_USAGE_Internal", line312ORA-06512: at"SYS.DBMS_FEATURE_USAGE_Internal", line522ORA-06512: at"SYS.DBMS_FEATURE_USAGE_Internal", line694ORA-06512: at"SYS.DBMS_FEATURE_USAGE_Internal", line791ORA-06512: at line1],[],[],[],[],[],[],[],[],[],[],[],[]

日志中可以发现数据库每天都在报错:ORA 600 [qkaQknLTPruneKaf:1],明显是不正常的现象。

问题分析
查看 alert 报错对应的 trc 文件内容:

----- Incident Context Dump ----- Address: 0x7ffc986bb400 Incident ID:113625Problem Key: ORA600[qkaQknLTPruneKaf:1]Error: ORA-600[qkaQknLTPruneKaf:1][][][][][][][][][][][][00]: dbgexProcessError[diag_dde][01]: dbgeExecuteForError[diag_dde][02]: dbgePostErrorKGE[diag_dde][03]: dbkePostKGE_kgsf[rdbms_dde][04]: kgeadse[][05]: kgerinv_internal[][06]: kgerinv[][07]: kgeasnmierr[][08]: qkaQknLTPruneKaf[SQL_Code_Generator]<-- Signaling[09]: qkaQknPruneKaf[SQL_Code_Generator][10]: qknProjPushNode_Int[SQL_Code_Generator][11]: qknProjPushNode[SQL_Code_Generator][12]: qkeWalkAllQueryNodes[SQL_Code_Generator][13]: qknProjPushStmt[SQL_Code_Generator][14]: qkeProjPrune[SQL_Code_Generator][15]: qkadrv2[SQL_Code_Generator]

该问题在 MOS 上搜索后发现是一个 BUG:

ORA-00600:[qkaQknLTPruneKaf:1] WHEN _NLJ_BATCHING_ENABLED=0 ON ORACLE 12C (Doc ID 2067672.1)

其描述与本次内容基本一致:

查看隐含参数_NLJ_BATCHING_ENABLED在数据库中的值:

setline2222 pages1000 col namefora40 colvaluefora10 col describfora60selectx.ksppinm name,y.ksppstvlvalue,x.ksppdesc describfromsys.x$ksppi x,sys.x$ksppcv ywherex.inst_id=userenv('instance')andy.inst_id=userenv('instance')andx.indx=y.indxandx.ksppinm='_nlj_batching_enabled';NAMEVALUEDESCRIB---------------------------------------- ---------- ------------------------------------------------------------_nlj_batching_enabled0enablebatchingofthe RHS IOinNLJ

确实值被设置为 0,与该 BUG 现象完全一致,根据 MOS 建议有两种解决方案:

这个问题 Oracle 官方提供了两种解决方案:

  1. 打补丁26153372(需要停机)
  2. 修改隐含参数_nlj_batching_enabled=1(在线修改)

如果停机时间充足的情况下,还是比较建议打补丁。

问题解决
打补丁修复,首先检查 OPatch 是否符合要求:

[oracle@lucifer ~]$cd$ORACLE_HOME[oracle@lucifer dbhome_1]$cdOPatch/[oracle@lucifer OPatch]$ ./opatch version OPatch Version:12.1.0.1.3 OPatch succeeded.

补丁 README 需要 opatch 版本为:12.1.0.1.4 or the latest version,这里 12.1.0.2 版本下载 12CR2 版本的 OPatch 即可:

OPatch - 可以在什么位置找到最新版本的 OPatch(6880880)?[视频] (Doc ID 1525335.1)

更新 OPatch 版本:

[root@lucifer u01]# chown oracle:oinstall /home/oracle/p6880880_122010_Linux-x86-64.zip[oracle@lucifer ~]$unzip-qop6880880_122010_Linux-x86-64.zip-d$ORACLE_HOME[oracle@lucifer ~]$cd$ORACLE_HOME/OPatch[oracle@lucifer OPatch]$ ./opatch version OPatch Version:12.2.0.1.45 OPatch succeeded.

解压补丁:

[root@lucifer ~]# chown oracle:oinstall /home/oracle/p26153372_121020_Linux-x86-64.zip[oracle@lucifer ~]$unzip-qp26153372_121020_Linux-x86-64.zip

执行安装前检查:

[oracle@lucifer ~]$cd26153372/[oracle@lucifer26153372]$$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail-ph./ Oracle Interim Patch Installer version12.2.0.1.45 Copyright(c)2025, Oracle Corporation. All rights reserved. PREREQ session Oracle Home:/u01/app/oracle/product/12.1.0.2/dbhome_1 Central Inventory:/u01/app/oraInventory from:/u01/app/oracle/product/12.1.0.2/dbhome_1/oraInst.loc OPatch version:12.2.0.1.45 OUI version:12.1.0.2.0 Logfilelocation:/u01/app/oracle/product/12.1.0.2/dbhome_1/cfgtoollogs/opatch/opatch2025-03-26_15-12-18PM_1.log Invoking prereq"checkconflictagainstohwithdetail"Prereq"checkConflictAgainstOHWithDetail"passed. OPatch succeeded.

关闭 oracle 相关资源:

## 关闭监听[oracle@lucifer ~]$ lsnrctl stop## 关闭数据库SQL>shu immediate

正式安装补丁:

[oracle@lucifer26153372]$$ORACLE_HOME/OPatch/opatch apply

安装完成后检查补丁:

$ORACLE_HOME/OPatch/opatch lspatches

关闭 oracle 相关资源:

## 关闭监听[oracle@lucifer ~]$ lsnrctl start## 打开数据库SQL>startup

后续检查是否还会报错 ORA-600 即可。

写在最后
既然 BUG 难以避免,做好备份尤为重要。


📚 推荐阅读:DBA 学习之路

如果这篇文章对你有帮助,推荐访问我的 Oracle DBA 系统学习站点,涵盖 100 天完整学习路线:

  • 🔧 Oracle 安装部署 · RMAN 备份恢复 · Data Pump 数据迁移
  • 🏗️ RAC 高可用 · DataGuard 容灾 · 多租户架构
  • 🔍 故障排查 · 升级迁移 · GoldenGate 数据同步

👉 立即访问 ora100.com →

原文链接: ORA 600 [qkaQknLTPruneKaf:1] BUG 分析与处理


本文首发于 DBA 学习之路,更多 Oracle/MySQL 实战教程、ORA 错误码速查、巡检工具,欢迎访问ora100.com

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 16:19:38

一站式解决方案:win-capture-audio专业音频捕获插件实战指南

一站式解决方案&#xff1a;win-capture-audio专业音频捕获插件实战指南 【免费下载链接】win-capture-audio An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBSs game capture and Discords application …

作者头像 李华
网站建设 2026/5/8 16:19:09

2026年熔覆加工供应商大揭秘,哪家才是行业优选?

在制造业不断发展的今天&#xff0c;熔覆加工技术的重要性日益凸显。选择一家优质的熔覆加工供应商&#xff0c;对于企业的生产效率、产品质量以及成本控制都有着至关重要的影响。2026年&#xff0c;众多熔覆加工供应商竞争激烈&#xff0c;其中上海盖泽激光科技有限公司&#…

作者头像 李华
网站建设 2026/5/8 16:19:05

Windows音频路由终极指南:免费开源工具让每个应用都有专属音箱

Windows音频路由终极指南&#xff1a;免费开源工具让每个应用都有专属音箱 【免费下载链接】audio-router Routes audio from programs to different audio devices. 项目地址: https://gitcode.com/gh_mirrors/au/audio-router 你是否曾经想过让游戏音效通过高端音箱播…

作者头像 李华
网站建设 2026/5/8 16:19:04

LinkSwift:九大网盘直链下载助手,让你的下载体验飞起来

LinkSwift&#xff1a;九大网盘直链下载助手&#xff0c;让你的下载体验飞起来 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动…

作者头像 李华
网站建设 2026/5/8 16:19:03

9大网盘直链解析全攻略:告别限速,体验极速下载

9大网盘直链解析全攻略&#xff1a;告别限速&#xff0c;体验极速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / …

作者头像 李华