ORA-00600:內部錯誤程式碼,引數:[qertbFetchByRowID],[],[],[],[],[],[],[]分析與處理

dcswinner發表於2013-04-21
今早檢查外網pda資料庫alert日誌發現如下錯誤600:
昨晚9點左右的:
SUCCESS: diskgroup ARCH_DATA was dismounted
Sat Apr 20 20:52:18 CST 2013
Errors in file /home/oracle/admin/abcpda/udump/abcpda1_ora_7460.trc:
ORA-00600: 內部錯誤程式碼, 引數: [qertbFetchByRowID], [], [], [], [], [], [], []
Sat Apr 20 20:52:18 CST 2013
Thread 1 advanced to log sequence 53658 (LGWR switch)
  Current log# 2 seq# 53658 mem# 0: +DATA/abcpda/onlinelog/group_2.262.733097741
Sat Apr 20 20:52:18 CST 2013
SUCCESS: diskgroup ARCH_DATA was mounted
Sat Apr 20 20:52:24 CST 2013
Trace dumping is performing id=[cdmp_20130420205224]
Sat Apr 20 20:52:34 CST 2013
SUCCESS: diskgroup ARCH_DATA was dismounted
Sat Apr 20 20:52:42 CST 2013
Thread 1 advanced to log sequence 53659 (LGWR switch)
  Current log# 5 seq# 53659 mem# 0: +DATA/abcpda/onlinelog/group_5.263.733097741
Sat Apr 20 20:52:42 CST 2013
今天中午12點左右的:
Sun Apr 21 12:27:56 CST 2013
SUCCESS: diskgroup ARCH_DATA was mounted
Sun Apr 21 12:28:05 CST 2013
Errors in file /home/oracle/admin/abcpda/udump/abcpda1_ora_6537.trc:
ORA-00600: 內部錯誤程式碼, 引數: [qertbFetchByRowID], [], [], [], [], [], [], []
Sun Apr 21 12:28:05 CST 2013
SUCCESS: diskgroup ARCH_DATA was dismounted
Sun Apr 21 12:28:12 CST 2013
Trace dumping is performing id=[cdmp_20130421122812]
Sun Apr 21 12:28:14 CST 2013
Thread 1 advanced to log sequence 53699 (LGWR switch)
  Current log# 1 seq# 53699 mem# 0: +DATA/abcpda/onlinelog/group_1.261.733097739
Sun Apr 21 12:28:14 CST 2013
SUCCESS: diskgroup ARCH_DATA was mounted
Sun Apr 21 12:28:22 CST 2013
Errors in file /home/oracle/admin/abcpda/udump/abcpda1_ora_476.trc:
ORA-00600: 內部錯誤程式碼, 引數: [qertbFetchByRowID], [], [], [], [], [], [], []
Sun Apr 21 12:28:23 CST 2013
SUCCESS: diskgroup ARCH_DATA was dismounted
Sun Apr 21 12:28:32 CST 2013
檢視trace檔案:
*** SERVICE NAME:(SYS$USERS) 2013-04-21 12:28:05.189
*** SESSION ID:(834.34603) 2013-04-21 12:28:05.189
*** 2013-04-21 12:28:05.189
ksedmp: internal or fatal error
ORA-00600: 內部錯誤程式碼, 引數: [qertbFetchByRowID], [], [], [], [], [], [], []
Current SQL statement for this session:
SELECT COUNT(1) AS totalCount FROM  ( select cust.cust_code as Parameters1,cust.cust_name as Parameters2,cust.cust_abbr_name as Parameters3,cust.cust_abbr as Parameters4 from TB_PAR_CUST_2 cust,TB_EVT_CUST_SPEC_ORG_2 spec where spec.org_id = '51800209' and spec.cust_id = cust.cust_id and cust.state = 0 )
----- Call Stack Trace -----
calling              call     entry                argument values in hex
location             type     point                (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ssd_unwind_bp: unhandled instruction at 0x3d0360e instr=f
ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FBFFF98A0 ? 7FBFFF9900 ?
                                                   7FBFFF9840 ? 000000000 ?
ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?
                                                   7FBFFF98A0 ? 7FBFFF9900 ?
                                                   7FBFFF9840 ? 000000000 ?
ksfdmp()+63          call     ksedmp()             000000003 ? 000000001 ?
                                                   7FBFFF98A0 ? 7FBFFF9900 ?
                                                   7FBFFF9840 ? 000000000 ?
kgerinv()+161        call     ksfdmp()             0069DAA20 ? 000000003 ?
                                                   7FBFFF98A0 ? 7FBFFF9900 ?
                                                   7FBFFF9840 ? 000000000 ?
kgeasnmierr()+163    call     kgerinv()            0069DAA20 ? 2A97420040 ?
                                                   7FBFFF9900 ? 7FBFFF9840 ?
                                                   000000000 ? 000000000 ?
qertbFetchByRowID()  call     kgeasnmierr()        0069DAA20 ? 2A97420040 ?
+4684                                              7FBFFF9900 ? 7FBFFF9840 ?
                                                   33A2A3E40 ? 33A2A3E40 ?
qerjotFetch()+209    call     qertbFetchByRowID()  287D025A8 ? 0017BA72C ?
                                                   2A9782DE18 ? 000007FFF ?
                                                   33A2A3E40 ? 33A2A3E40 ?
qergsFetch()+11294   call     qerjotFetch()        287D022A0 ? 0017BA72C ?
                                                   2A9782DE18 ? 000007FFF ?
                                                   33A2A3E40 ? 33A2A3E40 ?
kpofrws()+258        call     qergsFetch()         287D021C0 ? 0032216C2 ?
。。。。。。
分析這個錯誤貌似是和這個查詢相關的物件有損壞,qertbFetchByRowID時報錯。
根據這個關鍵字檢視metalink,MOS:1404314.1上的情況和我的問題基本相似,原因和我猜測的差不多,還有就是bug,但是這個bug是在10.2.0.4以及以下版本發生,本資料的版本是:
SQL>select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE    10.2.0.5.0      Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
按照此文件上的說法將相關的索引重建了一下,後續沒有報錯。
 
參考文件:
Troubleshoot guide for ORA-600 [qertbfetchbyrowid] error [ID 1404314.1]
ORA-600 [qertbFetchByRowID] During Select [ID 755592.1]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12129601/viewspace-758988/,如需轉載,請註明出處,否則將追究法律責任。

相關文章