1. 适用范围
Oracle Database - Enterprise Edition - Version 10.1.0.2 and later Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later Oracle Cloud Infrastructure - Database Service - Version N/A and later Oracle Database Exadata Express Cloud Service - Version N/A and later Oracle Database Cloud Exadata Service - Version N/A and later Information in this document applies to any platform.
2. 问题概述
Thu Jul 14 11:05:27 20xx Errors in file /u01/app/oracle/diag/rdbms/xx/xx1/trace/xx1_smon_82061.trc (incident=5274893): ORA-00600: internal error code, arguments: [13013], [5001], [268], [8432040], [0], [8432040], [17], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/xx/xx1/incident/incdir_5274893/xx1_smon_82061_i5274893.trc
3. 问题原因
### 1. ORA-600 [13013]解释
ORA-600 [13013] [a] [b] [c] [d] [e] [f]
This format relates to Oracle Server 8.0.3 to 10.1
Arg [a] Passcount
Arg [b] Data Object number
Arg [c] Tablespace Relative DBA of block containing the row to be updated
Arg [d] Row Slot number
Arg [e] Relative DBA of block being updated (should be same as [c])
Arg [f] Code
### 2. 查找Data Object对象及索引
Select object_name,object_type,owner from dba_objects where data_object_id=<value reported in argument b> ;
SQL> set linesize 200 pagesize 9999
SQL> col object_name for a20
SQL> Select object_name,object_type,owner from dba_objects where data_object_id=268;
OBJECT_NAME OBJECT_TYPE OWNER
-------------------- ------------------- ------------------------------
SMON_SCN_TIME TABLE SYS
SMON_SCN_TO_TIME_AUX CLUSTER SYS
SQL>
SQL> select owner,index_name,index_type,table_owner,table_name from dba_indexes where (table_owner,table_name) in (
2 Select owner,object_name from dba_objects where data_object_id=268
3 );
OWNER INDEX_NAME INDEX_TYPE TABLE_OWNER TABLE_NAME
---------- ------------------------------ --------------------------- --------------- --------------------
SYS SMON_SCN_TIME_SCN_IDX NORMAL SYS SMON_SCN_TIME
SYS SMON_SCN_TO_TIME_AUX_IDX CLUSTER SYS SMON_SCN_TO_TIME_AUX
SYS SMON_SCN_TIME_TIM_IDX NORMAL SYS SMON_SCN_TIME
SQL>
### 3. 检查表/索引是否有损坏
SQL> Analyze table sys.smon_scn_time validate structure online ;
Table analyzed.
SQL>
SQL> Analyze table sys.smon_scn_time validate structure cascade online ;
ORA-01499: table/index cross reference failure - see trace file
SQL>
ORA-1499. Table/Index row count mismatch,以上报错说明表和索引存在不一致的问题。
### 4. 生成索引DDL语句
SQL>spool /tmp/createindex.sql
SQL>Set long 100000000
SQL>Select dbms_metadata.get_ddl('INDEX','<Index name>',<'user name>') from dual
SQL>Spool off
spool /tmp/createindex.sql
Set long 100000000
Select dbms_metadata.get_ddl('INDEX','SMON_SCN_TO_TIME_AUX_IDX','SYS') from dual;
Select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_SCN_IDX','SYS') from dual;
Select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_TIM_IDX','SYS') from dual;
Spool off
4. 解决方案
### 1. 重建索引
drop index "SYS"."SMON_SCN_TO_TIME_AUX_IDX";
drop index "SYS"."SMON_SCN_TIME_SCN_IDX";
drop index "SYS"."SMON_SCN_TIME_TIM_IDX";
CREATE INDEX "SYS"."SMON_SCN_TO_TIME_AUX_IDX" ON CLUSTER "SYS"."SMON_SCN_TO_TIME_AUX" TABLESPACE "SYSTEM";
CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_SCN_IDX" ON "SYS"."SMON_SCN_TIME" ("SCN") TABLESPACE "SYSAUX";
CREATE UNIQUE INDEX "SYS"."SMON_SCN_TIME_TIM_IDX" ON "SYS"."SMON_SCN_TIME" ("TIME_MP") TABLESPACE "SYSAUX";
### 2. 检查表/索引是否有损坏
SQL> Analyze table sys.smon_scn_time validate structure online ;
Table analyzed.
SQL> Analyze table sys.smon_scn_time validate structure cascade online ;
Table analyzed.
SQL>
5. 参考文档
How to resolve ORA-00600 [13013], [5001] (Doc ID 816784.1) NOTE:563070.1 - ORA-1499. Table/Index row count mismatch
最后修改时间:2022-07-30 10:24:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




