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及修复方式。