某客户核心业务系统报ORA-600错误分析处理

1.报错信息

节点1报错日志:

节点2报错日志:

2.原因分析

节点1trace文件,发现执行如下语句:

查看dump文件:

根据oracle官方文档:Bug 19849781 - ORA-600 [kjbrchkpkeywait:timeout], wrong pkey/objd on iot (文档 ID 19849781.8) 可以认为是由于错误的PKEY,引起ORA-600错误。

根据trace,查找对象:

根据以上信息,可以确认数据块0x185da转换为十进制后为:99802;数据文件31c转换十进制为:796

使用如下语句查看坏块的类型,针对不同的类型,进行恢复,如果是索引,可以删除重建。

查看创建表的语句:

SQL> set pagesize 1000

SQL> select sys.dbms_metadata.get_ddl('TABLE','TG_IN_FILTER1_ERROR','UCR_ROAM1') FROM DUAL;

SYS.DBMS_METADATA.GET_DDL('TABLE','TG_IN_FILTER1_ERROR','UCR_ROAM1')


CREATE TABLE "UCR_ROAM1"."TG_IN_FILTER1_ERROR"

( "SOURCE_TYPE" CHAR(2),

"BIZ_TYPE" VARCHAR2(4),

"FID" VARCHAR2(100),

"RR_FLAG" CHAR(1),

"CALL_TYPE" CHAR(2),

"IMSI_NUMBER" CHAR(15),

"MSISDN" VARCHAR2(15),

"OTHER_PARTY" VARCHAR2(30),

"START_DATE" CHAR(8),

"START_TIME" CHAR(6),

"END_DATE" CHAR(8),

"END_TIME" CHAR(6),

"CALL_DURATION" NUMBER(6,0),

"MSRN" CHAR(11),

"MSC" VARCHAR2(15),

"LAC1" CHAR(5),

"CELL_ID1" CHAR(5),

"OTHER_LAC1" CHAR(5),

"OTHER_CELL_ID1" CHAR(5),

"TRUNK_GROUPOUT" VARCHAR2(7),

"TRUNK_GROUPIN" VARCHAR2(7),

"SERVICE_TYPE" CHAR(3),

"SERVICE_CODE" VARCHAR2(4),

"VPN_ID" VARCHAR2(30),

"HOME_AREA_CODE" VARCHAR2(10),

"VISIT_AREA_CODE" VARCHAR2(10),

"CALLED_HOME_CODE" VARCHAR2(10),

"CALLED_CODE" VARCHAR2(10),

"ROAM_TYPE" CHAR(1),

"FILE_NO" VARCHAR2(50),

"STOP_CAUSE" CHAR(2),

"ORIGIN_NO" VARCHAR2(30),

"FORWARDCAUSE" CHAR(1),

"RATE_IND" CHAR(1),

"RAW_OFFICE_CODE" CHAR(5),

"IMEI" VARCHAR2(20),

"RESULT" CHAR(1),

"CALL_REFERENCE" VARCHAR2(30),

"PARTIAL_ID" CHAR(3),

"CFEE" NUMBER(8,0),

"LFEE" NUMBER(8,0),

"OTHERFEE" NUMBER(8,0),

"NET_TYPE" CHAR(2),

"FCI" VARCHAR2(8),

"MNS_TYPE" CHAR(1),

"ISMULTIMEDIA" CHAR(1),

"VPN_FLAG" VARCHAR2(8),

"USER_TYPE" CHAR(1),

"RATE_TIMES" NUMBER(2,0),

"ERROR_CODE" VARCHAR2(4),

"RESERVER1" VARCHAR2(100),

"RESERVER2" VARCHAR2(100),

"RESERVER3" VARCHAR2(100),

"RESERVER4" VARCHAR2(100),

"RESERVER5" VARCHAR2(100),

"RESERVER6" VARCHAR2(100),

"RESERVER7" VARCHAR2(100),

"RESERVER8" VARCHAR2(100),

"B_MSISDN" VARCHAR2(30),

"A_ASP" CHAR(1),

"A_SERV_TYPE" VARCHAR2(5),

"B_ASP" CHAR(1),

"B_SERV_TYPE" VARCHAR2(5),

"B_HOME_TYPE" CHAR(1),

"CALLED_TYPE" CHAR(2),

"C_SERV_TYPE" VARCHAR2(5),

"CARRIER_TYPE" CHAR(2),

"TRANS_TYPE" CHAR(1),

"DIAL_TYPE" CHAR(1),

"LONG_TYPE1" CHAR(1),

"LONG_GROUP1" CHAR(2),

"LONG_TYPE2" CHAR(1),

"LONG_GROUP2" CHAR(2),

"EDGE_FLAG" CHAR(1),

"ISNONEED_TP" CHAR(1),

"SUM_SERVTYPE" VARCHAR2(10),

"SPECIAL_PHONE_GROUP" VARCHAR2(5),

"A_PROV_CODE" CHAR(3),

"B_PROV_CODE" CHAR(3),

"INTER_ASPCODE" VARCHAR2(10),

"INTER_ASPGROUP" VARCHAR2(10),

"LONG_GROUP_EX1" CHAR(2),

"LONG_GROUP_EX2" CHAR(2),

"USER_ID" NUMBER(16,0),

"CUST_ID" NUMBER(16,0),

"A_PRODUCT_ID" NUMBER(8,0),

"A_SERV_TYPE_YZ" VARCHAR2(5),

"DOUBLEMODE" CHAR(1),

"CHANNEL_NO" NUMBER(3,0),

"B_PRODUCT_ID" NUMBER(8,0),

"B_BRANDTYPE" VARCHAR2(5),

"B_OFFICE_CODE" VARCHAR2(5),

"A_USER_STAT" CHAR(1),

"OPEN_DATETIME" VARCHAR2(14),

"ACCT_TAG" VARCHAR2(5)

) SEGMENT CREATION IMMEDIATE

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

NOCOMPRESS LOGGING

STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "TBS_BIL_DROAM";

节点2trace文件如下:

根据ORA-600 [kcbgcur_3] "current buffer has same class but wrong object id" (文档 ID 70097.1)文档,可以确定数据库请求11321345的对象ID。

查看trace文件:

根据如上trace,可以确认数据库需要11321345数据库对象,但数据库提供的缓冲区对象为:11321160,故产生的ORA-600错误。

总结:

客户执行TRUNCATE TABLE TG_IN_FILTER1_ERROR 语句,数据库请求11321345对象ID,但数据库缓冲区提供了错误的数据库对象ID(11321160),引起数据库ORA-600错误,根据ORA-600 [kcbgcur_3] "current buffer has same class but wrong object id" (文档 ID 70097.1)文档,此问题有可能会引起进程失败或物理损坏,经检查UCR_ROAM1.TG_IN_FILTER1_ERROR表,此表无物理损坏。根据Bug 19849781 ORA-600 [kjbrchkpkeywait:timeout], wrong pkey/objd on iot 文档,需要升级到12.2版本以上,但此文档主要是针对IOT表的,故建议提交SR,以确认BUG及修复方式。

相关推荐
威联通安全存储2 小时前
严谨性的数字基石:某精密医疗器械企业基于威联通的数据治理实践
运维·数据库·python
不剪发的Tony老师2 小时前
DbPaw:一款AI驱动的现代化数据库开发工具
数据库
2301_767902642 小时前
mysql备份
数据库·mysql·adb
剩下了什么2 小时前
Redis 密码设置
数据库·redis·缓存
NineData2 小时前
NineData 社区版 V4.10.0 正式发布
数据库·mysql·代码规范
heze092 小时前
sqli-labs-Less-46
数据库·mysql·网络安全
Y001112362 小时前
Day1-MySQL概述+SQL-1
数据库·mysql
菩提小狗2 小时前
第22天:安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引_笔记|小迪安全2023-2024|web安全|渗透测试|
数据库·安全·php
阿迷不想上班2 小时前
千万级别数据表更新操作记录
数据库