数据库报ORA-00600 [2252]错误
同事运维的数据库出现了一个ORA-00600 [2252]错误,针对该问题简单记录下。
1、alter日志信息:
Tue Feb 28 14:22:30 2023
Errors in file d:\app\diag\rdbms\pubb\pubb\trace\pubb_ora_5972.trc (incident=62094):
ORA-00600: internal error code, arguments: [2252], [4599], [287056585], [], [], [], [], [], [], [], [], []
Incident details in: d:\app\diag\rdbms\pubb\pubb\incident\incdir_62094\pubb_ora_5972_i62094.trc
可以看出,这套数据库既然运行在Windows下....
2、分析该报错时,产生的trace日志:
Dump file d:\app\diag\rdbms\pubb\pubb\incident\incdir_62094\pubb_ora_5972_i62094.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.1 Service Pack 1
CPU : 8 - type 8664, 8 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:1903M/32767M, Ph+PgF:33796M/76205M
VM name : VMWare Version (6)
Instance name: pubb
Redo thread mounted by this instance: 1
Oracle process number: 49
Windows thread id: 5972, image: ORACLE.EXE (SHAD)
可以看出,当前的操作系统是:NT V6.1 SP1 ; 数据库版本:11.2.0.1;
Dump continued from file: d:\app\diag\rdbms\pubb\pubb\trace\pubb_ora_5972.trc
ORA-00600: internal error code, arguments: [2252], [4599], [287056585], [], [], [], [], [], [], [], [], []
========= Dump for incident 62094 (ORA 600 [2252]) ========
*** 2023-02-28 14:22:30.678
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=74da321p2qkzz) -----
SELECT * FROM API_DT_RECORD_F@DBLINK_API3 WHERE ROWNUM <= 1
从这部分能看出当前执行的SQL的SQL_ID为74da321p2qkzz,具体的SQL语句是一个简单的select语句,但是访问了dblink。
----- Incident Context Dump -----
Address: 0x00000000304CCA08
Incident ID: 62094
Problem Key: ORA 600 [2252]
Error: ORA-600 [2252] [4599] [287056585] [] [] [] [] [] [] [] [] []
[00]: dbgexProcessError [diag_dde]
[01]: dbgeExecuteForError [diag_dde]
[02]: dbgePostErrorKGE [diag_dde]
[03]: dbkePostKGE_kgsf [rdbms_dde]
[04]: kgeade []
[05]: kgeriv_int []
[06]: kgeriv []
[07]: kgesiv []
[08]: ksesic2 [KSE]
[09]: kcmchk []<-- Signaling
[10]: kcsadjn []
[11]: k2rlog []
[12]: npicon0 []
[13]: kpndbcon []
[14]: OCIKDBLinkConn2 []
[15]: OCIKDBLinkConn []
[16]: ddfnet2Normal []
[17]: kkmfcbrm [SQL_Semantic]
[18]: PGOSF164_kkmpfcbk []
[19]: qcsprfro [SQL_Parser]
[20]: qcsprfro_tree [SQL_Parser]
[21]: qcsprfro_tree [SQL_Parser]
[22]: qcspafq [SQL_Parser]
......
这部分是出现故障时的call stack信息。
3、搜索MOS,我们可以找到ORA-600[2252] is Caused When Using Dblink with 12.1.0.1, 11.2.0.3 and Earlier Releases (Doc ID 2687773.1)完全匹配。其实最终还是因为数据库的版本太低了,遇到相应的BUG。