客户10.2.0.4 RAC for Linux X64环境,告警日志出现ORA-600(6033)错误。
详细错误信息为:
/opt/app/oracle/admin/orcl/udump/orcl1_ora_25075.trc Oracle DATABASE 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production WITH the Partitioning, REAL Application Clusters, OLAP, DATA Mining AND REAL Application Testing options ORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1 System name: Linux Node name: hb1 Release: 2.6.9-78.ELlargesmp Version: #1 SMP Wed Jul 9 16:03:59 EDT 2008 Machine: x86_64 Instance name: orcl1 Redo thread mounted BY this instance: 1 Oracle process NUMBER: 157 Unix process pid: 25075, image: oracle@hb1 *** ACTION NAME:() 2012-06-01 10:06:21.070 *** MODULE NAME:(JDBC Thin Client) 2012-06-01 10:06:21.070 *** SERVICE NAME:(orcl_taf) 2012-06-01 10:06:21.070 *** SESSION ID:(4475.1832) 2012-06-01 10:06:21.070 *** 2012-06-01 10:06:21.070 ksedmp: internal OR fatal error ORA-00600: internal error code, arguments: [6033], [], [], [], [], [], [], [] CURRENT SQL statement FOR this SESSION: SELECT * FROM access_log WHERE source_db='erpDataSource' AND target_db='cmsDataSource' ORDER BY id ASC ----- Call Stack Trace ----- calling CALL entry argument VALUES IN hex location TYPE point (? means dubious VALUE) -------------------- -------- -------------------- ---------------------------- ksedst()+31 CALL ksedst1() 000000000 ? 000000001 ? 7FBFFF8480 ? 7FBFFF84E0 ? 7FBFFF8420 ? 000000000 ? ksedmp()+610 CALL ksedst() 000000000 ? 000000001 ? 7FBFFF8480 ? 7FBFFF84E0 ? 7FBFFF8420 ? 000000000 ? ksfdmp()+21 CALL ksedmp() 000000003 ? 000000001 ? 7FBFFF8480 ? 7FBFFF84E0 ? 7FBFFF8420 ? 000000000 ? kgeriv()+176 CALL ksfdmp() 000000003 ? 000000001 ? 7FBFFF8480 ? 7FBFFF84E0 ? 7FBFFF8420 ? 000000000 ? kgeasi()+263 CALL kgeriv() 0067B4700 ? 2A97200040 ? 000000000 ? 7FBFFF3788 ? 7FBFFF8420 ? 000000000 ? kdifxs1()+4656 CALL kgeasi() 0067B4700 ? 2A97200040 ? 000001791 ? 000000002 ? 000000000 ? 0FFFFFFFF ? kdifxs()+17 CALL kdifxs1() 1E221D00C ? 000000001 ? 000000000 ? 000000000 ? 7F00000000 ? 000000000 ? qerixtFetch()+242 CALL kdifxs() 1E221D00C ? 000000001 ? 000000000 ? 000000000 ? 7F00000000 ? 000000000 ? qertbFetchByRowID() CALL qerixtFetch() 22B1C9480 ? 000000000 ? +493 7FBFFFADF0 ? 000000001 ? 000000001 ? 000000000 ? opifch2()+3189 CALL qertbFetchByRowID() 22B1C9138 ? 0030E04AA ? 7FBFFFB378 ? 00000000A ? 000000001 ? 000000000 ? opifch()+64 CALL opifch2() 000000089 ? 000000005 ? 7FBFFFB550 ? 2A97251398 ? 000000001 ? 000000000 ? opiodr()+984 CALL opifch() 000000089 ? 000000005 ? 7FBFFFB550 ? 00000000A ? 000000000 ? 001330002 ? ttcpip()+1012 CALL opiodr() 000000005 ? 000000002 ? 7FBFFFE2B0 ? 000000009 ? 0059DE968 ? 001330002 ? opitsk()+1322 CALL ttcpip() 0067BC3D0 ? 0052BC900 ? 7FBFFFE2B0 ? 000000000 ? 7FBFFFDDA8 ? 7FBFFFE418 ? opiino()+1026 CALL opitsk() 000000003 ? 000000000 ? 7FBFFFE2B0 ? 000000001 ? 000000000 ? 683051B00000001 ? opiodr()+984 CALL opiino() 00000003C ? 000000004 ? 7FBFFFF478 ? 000000000 ? 000000000 ? 683051B00000001 ? opidrv()+547 CALL opiodr() 00000003C ? 000000004 ? 7FBFFFF478 ? 000000000 ? 0059DF200 ? 683051B00000001 ? sou2o()+114 CALL opidrv() 00000003C ? 000000004 ? 7FBFFFF478 ? 000000000 ? 0059DF200 ? 683051B00000001 ? opimai_real()+163 CALL sou2o() 7FBFFFF450 ? 00000003C ? 000000004 ? 7FBFFFF478 ? 0059DF200 ? 683051B00000001 ? main()+116 CALL opimai_real() 000000002 ? 7FBFFFF4E0 ? 000000004 ? 7FBFFFF478 ? 0059DF200 ? 683051B00000001 ? __libc_start_main() CALL main() 000000002 ? 7FBFFFF4E0 ? +219 000000004 ? 7FBFFFF478 ? 0059DF200 ? 683051B00000001 ? _start()+42 CALL __libc_start_main() 0007139F8 ? 000000002 ? 7FBFFFF628 ? 0052B4BD0 ? 000000000 ? 000000002 ? --------------------- Binary Stack Dump --------------------- |
根据MOS文档ORA-600 [6033] “null value retrieved from index leaf lookup” [ID 45795.1],导致问题的原因在于从索引获取页节点的键值时找到了空值。这个问题是Oracle的bug所导致的,但是根据已有的bug描述,找不到10.2上对应的已知bug。
对于这个问题,最简单的方法莫过于将索引删除重建,或直接采用ONLINE REBUILD的方式进行重建。