Bug 20250147 - ORA-600 [kjxmgmb_nreq:bat]

简介: 今天巡检遇到数据库报错 ORA-00600错误,数据库版本为Oracle 11204 (x86_64),错误日志如下:

前言


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


ORA-00600: internal error code, arguments: [kjxmgmb_nreq:!bat], [17], [56], [9], [], [], [], [], [], [], [], []


关键词: ORA-00600、[kjxmgmb_nreq:!bat]。


一、问题分析

1、查看错误代码


通过 Oracle oerr 查看错误代码解释:


1.png


可以发现,ORA-600 是 Oracle 的内部错误,无法从错误代码提示上看出什么问题!


2、抓取 trace 文件关键信息


通过报错信息,我们可以很容易的定位到 trc 中的关键错误信息:


Error: ORA-00600 [kjxmgmb_nreq:!bat] [17] [56] [9]

Error Stack: ORA-600[kjxmgmb_nreq:!bat]

Main Stack:

kjxmgmb_nreq_header <- kjdrpushpkey <- kjdrpkey2hv <- kjblprmexp <- kjbmprmexp

<- kjbmchkretryreq <- kjmsm <- ksbrdp <- opirip <- opidrv <- sou2o <- opimai_real <- ssthrdmain

<- main


并未发现可以判断问题的信息。


3、查询 MOS 文档


通过查询官方的 MOS 文档,发现与如下文档描述相似:


  • Bug 20250147 - ORA-600 [kjxmgmb_nreq:!bat] can occur in RAC crashing the instance (Doc ID 20250147.8)


根据文档中描述,该 bug 可能发生在 RAC 环境崩溃时。


二、解决方案


安装 OneOffPatch 补丁:Patch 20250147


补丁安装所需介质如下:


  • p20250147_112040_Linux-x86-64.zip
  • p6880880_112000_Linux-x86-64.zip


补丁安装步骤


补丁安装的详细步骤可以查看补丁 README 文档即可!


大致步骤分为以下三步:


1、备份 ORACLE_HOMEORAINVENTORY 目录


mkdir/backupcd/u01/app/oracle/product/11.2.0tar-pcf/backup/oracle_home_backup210421.tardbcd/u01/apptar-pcf/backup/oracle_inventory_backup210421.taroraInventory


📢 注意: 备份前需要先完全关闭所有数据库实例。


2、替换最新的OPATCH补丁包(p6880880


unzip-op6880880_112040_Linux-x86-64.zip-d$ORACLE_HOME


3、解压 20250147 补丁包,并安装补丁


首先解压补丁包:


unzip-d/softp20250147_112040_Linux-x86-64.zip


安装补丁前检查:


cd/soft/20250147opatchprereqCheckConflictAgainstOHWithDetail-ph ./


关闭当前主机所有 ORACLE_HOME 下的服务(database, ASM, listeners, nodeapps, and CRS daemons):


##Non-racshutdownimmediatelsnrctlstop##racsrvctlstopdatabase-dorclsrvctlstoplistenersrvctlstopscan_listner


正式安装补丁:


cd /soft/20250147
opatch apply


确认是否安装成功:


opatchlsinventory


启动所有ORACLE_HOME下的服务(database, ASM, listeners, nodeapps, and CRS daemons)


##开启数据库实例和监听##Non-racstartuplsnrctlstart##racsrvctlstartdatabase-dorclsrvctlstartlistenersrvctlstartscan_listener


📢 注意: 需要数据库停机进行操作。


相关文章
|
Oracle 关系型数据库 数据库
|
关系型数据库 数据库 数据库管理
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库
|
Oracle 关系型数据库 Shell

热门文章

最新文章