前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Bug 20250147 - ORA-600 [kjxmgmb_nreq:bat]

Bug 20250147 - ORA-600 [kjxmgmb_nreq:bat]

作者头像
Lucifer三思而后行
发布2022-01-08 10:06:34
4630
发布2022-01-08 10:06:34
举报

前言

今天巡检遇到数据库报错 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 查看错误代码解释:

可以发现,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 目录

代码语言:javascript
复制
mkdir /backup
cd /u01/app/oracle/product/11.2.0
tar -pcf /backup/oracle_home_backup210421.tar db
cd /u01/app
tar -pcf /backup/oracle_inventory_backup210421.tar oraInventory

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

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

代码语言:javascript
复制
unzip -o p6880880_112040_Linux-x86-64.zip -d $ORACLE_HOME

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

首先解压补丁包:

代码语言:javascript
复制
unzip -d /soft p20250147_112040_Linux-x86-64.zip

安装补丁前检查:

代码语言:javascript
复制
cd /soft/20250147
opatch prereq CheckConflictAgainstOHWithDetail -ph ./

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

代码语言:javascript
复制
## Non-rac
shutdown immediate
lsnrctl stop
 
## rac
srvctl stop database -d orcl
srvctl stop listener
srvctl stop scan_listner

正式安装补丁:

代码语言:javascript
复制
cd /soft/20250147
opatch apply

确认是否安装成功:

代码语言:javascript
复制
opatch lsinventory

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

代码语言:javascript
复制
## 开启数据库实例和监听
## Non-rac
startup
lsnrctl start
 
## rac
srvctl start database -d orcl
srvctl start listener
srvctl start scan_listener

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


参考官方文章:Doc ID 20250147.8

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、问题分析
    • 1、查看错误代码
      • 2、抓取 trace 文件关键信息
        • 3、查询 MOS 文档
        • 二、解决方案
          • 补丁安装步骤
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com