記一次ORA-600[13011],記一次ora-60013011

來源:互聯網
上載者:User

記一次ORA-600[13011],記一次ora-60013011
SunOS 5.10Oracle 10.2.0.2.0開發環境某一資料庫出現ora-600報錯。
alert.log中的報錯資訊:Thu Nov 13 15:11:43 2014Errors in file /oracle/admin/sun/bdump/sun_j000_29589.trc:ORA-00600: internal error code, arguments: [13011], [298314], [4277430], [0], [4277430], [17], [], []Thu Nov 13 15:11:45 2014Errors in file /oracle/admin/sun/bdump/sun_j000_29589.trc:ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], []ORA-06512: at "REPADMIN.CEF_PUSH_PURGE", line 145ORA-06512: at line 1
在 /oracle/admin/sun/bdump/sun_j000_29589.trc trace檔案中看到當前SQL是刪除system.def$_aqcall的一條記錄:ksedmp: internal or fatal errorORA-00600: internal error code, arguments: [13011], [298314], [4277430], [0], [4277430], [17], [], []Current SQL statement for this session:delete from system.def$_aqcall     where (enq_tid = :1)根據MOS ORA-600 [13011] "Problem occurred when trying to delete a row" (文檔 ID 28184.1)各參數對比;

SQL> select object_type,object_name,owner from dba_objects where data_object_id='298314';
OBJECT_TYPE         OBJECT_NAME                              OWNER------------------- ---------------------------------------- ------------------------------TABLE               DEF$_AQCALL                              SYSTEM
關於DEF$_AQCALL表,該表是進階複製的預設隊列表,從ORA-06512: at "REPADMIN.CEF_PUSH_PURGE", line 145這邊也可以看出確實是進階複製出現了問題,複製及時完成後,該表會被清空。出現該ora-600報錯是因為在更新語句中使用索引找到一條記錄,然後到表中去查詢時該記錄不存在,出現此報錯,一般解決方案是重建索引。----該段引自xifenfei(http://www.xifenfei.com/2623.html)
首先對錶做分析:SQL> analyze table system.DEF$_AQCALL validate structure cascade;analyze table system.DEF$_AQCALL validate structure cascade*ERROR at line 1:ORA-01499: table/index cross reference failure - see trace file

SQL> select index_name,owner,status from dba_indexes where table_name='DEF$_AQCALL';
INDEX_NAME                     OWNER                          STATUS------------------------------ ------------------------------ --------SYS_IL0000004874C00025$$       SYSTEM                         VALIDSYS_C001407                    SYSTEM                         VALIDDEF$_TRANORDER                 SYSTEM                         VALID
SQL> select index_name,column_name,column_position from dba_ind_columns where table_name='DEF$_AQCALL';
INDEX_NAME                     COLUMN_NAME                    COLUMN_POSITION------------------------------ ------------------------------ ---------------SYS_C001407                    ENQ_TID                                      1SYS_C001407                    STEP_NO                                      2DEF$_TRANORDER                 CSCN                                         1DEF$_TRANORDER                 ENQ_TID                                      2
比對資料:全表掃描和走索引時資料對比:SQL> select /*+ index(t DEF$_TRANORDER) */ CSCN,ENQ_TID from system.DEF$_AQCALL where CSCN is not null or ENQ_TID is not null  2  minus  3  select /*+ FULL(t1) */ CSCN,ENQ_TID from system.DEF$_AQCALL  4  /
      CSCN ENQ_TID---------- ------------------------------4755684454 8.37.22337194755684456 3.14.22356204755684458 8.2.22336994755684460 10.30.2223096果然索引上的記錄比表上的資料多了四條。
線上重建索引:SQL>alter index system.DEF$_TRANORDER rebuild onlie;
Index altered.
再次對比索引上和表上的資料:SQL> select /*+ index(t DEF$_TRANORDER) */ CSCN,ENQ_TID from system.DEF$_AQCALL where CSCN is not null or ENQ_TID is not null  2  minus  3  select /*+ FULL(t1) */ CSCN,ENQ_TID from system.DEF$_AQCALL  4  /
no rows selected
沒有多餘資料,通過對alert.log的監控,後續未發現ora-600[13011]的報錯。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.