近期,在数据库巡检时,发现某用户的ORACLE 19C RAC数据库系统,后台alert日志出现大量的ORA-00600 [qosdExpStatRead: expcnt mismatch]错误,同时产生了很多的cdmp文件,导致TRACE目录的磁盘空间不足问题。

深入分析,结合MOS文档ORA-00600 [qosdExpStatRead: expcnt mismatch] Still Happens Even After Applied both Patch 28681153 and Patch 31143146 (Doc ID 2803002.1)分析,问题为sys.exp_obj$基表中的数据不一致;MOS文档中提到的解决方案:

1.修改基表

2.设置隐含参数 "_fix_control"='31143146:on'  (可以动态设置)。

alter system set "_fix_control"='31143146:on' scope=both;

本次使用设置隐含参数方式,设置后报错问题得到解决。

报错信息如下:

2023-04-12T10:04:40.412311+08:00
Errors in file /u01/app/oracle/diag/rdbms/lzhalodg/lzhalo1/trace/lzhalo1_mz00_3813.trc  (incident=739406):
ORA-00600: internal error code, arguments: [qosdExpStatRead: expcnt mismatch], [65543], [7], [50055], [1], [], [], [], [], [], [], []
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2023-04-12T10:04:40.414308+08:00
Errors in file /u01/app/oracle/diag/rdbms/lzhalodg/lzhalo1/trace/lzhalo1_mz00_3813.trc:
ORA-00600: internal error code, arguments: [qosdExpStatRead: expcnt mismatch], [65543], [7], [50055], [1], [], [], [], [], [], [], []
2023-04-12T10:04:50.519029+08:00
TABLE HIS6.HL7_Z4A_JIBINGDM: ADDED INTERVAL PARTITION SYS_P6990 (124) VALUES LESS THAN (TO_DATE(' 2023-04-18 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
2023-04-12T10:10:31.193394+08:00
Thread 1 advanced to log sequence 12264 (LGWR switch),  current SCN: 13823461043884
  Current log# 17 seq# 12264 mem# 0: +DATA/lzhalo/datafile/redo3.log
2023-04-12T10:10:31.556001+08:00
ARC1 (PID:364654): Archived Log entry 36681 added for T-1.S-12263 ID 0xb6518494 LAD:1
2023-04-12T10:14:05.519066+08:00
WARNING: too many parse errors, count=367 SQL hash=0xc8d5c623
PARSE ERROR: ospid=499, error=936 for statement: 
2023-04-12T10:14:05.519145+08:00
SELECT decode(substr(num, 1, 1), '.', '0' || num, num) from ( SELECT TO_CHAR(=未检出) as num FROM DUAL)
Additional information: hd=0x871188f8 phd=0x8eb696b0 flg=0x28 cisid=82 sid=82 ciuid=82 uid=82 sqlid=84jcmsz4dbjj3