7 x 24 在线支持!
如何解决表SMON_SCN_TIME上报告的ORA-08102
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
oerr ora 8102 08102, 00000, "index key not found, obj# %s, file %s, block %s (%s)" // *Cause: Internal error: possible inconsistency in index // *Action: Send trace file to your customer support representative, along // with information on reproducing the error
适用于:
Oracle Database – Enterprise Edition – 版本9.2.0.1 到11.2.0.1 [Release 9.2 to 11.2]
本文信息适用于任何平台。
*** 22-Feb-2012检查相关性***
目标
本文的目标是帮助解决表SMON_SCN_TIME上的ORA-8102。 Smon进程在警报日志文件中报告该错误。
在文件/opt/bdump/emrep_smon_1241286.trc中的错误:
ORA-00604: error occurred at recursive SQL level 1
ORA-08102: index key not found, obj#
Ora-8102 indicates a corruption in the Index involved.
分析表SMON_SCN_TIME validate structure ;没问题
联机分析表SMON_SCN_TIME validate structure cascade;失败并生成Ora-1499
解决方案
首先确认表没有任何损坏,通过运行:
SQL> analyze table SMON_SCN_TIME validate structure;
表被分析了。
它应该干净地显示出被分析表的信息。
找出表中涉及的索引
SQL> Select index_name,index_type,owner from dba_indexes where table_name=’SMON_SCN_TIME’ ;
INDEX_NAME INDEX_TYPE OWNER
—————————— ————————— ——————————
SMON_SCN_TIME_TIM_IDX NORMAL SYS
SMON_SCN_TIME_SCN_IDX NORMAL SYS
获得DDL来重建这两个索引
SQL> Set long 10000000
SQL> Select dbms_metadata.get_ddl(‘INDEX’,’SMON_SCN_TIME_TIM_IDX’,’SYS’) FROM DUAL ;
DBMS_METADATA.GET_DDL(‘INDEX’,’SMON_SCN_TIME_TIM_IDX’,’SYS’)
——————————————————————————–
CREATE UNIQUE INDEX “SYS”.”SMON_SCN_TIME_TIM_IDX” ON “SYS”.”SMON_SCN_TIME” (“T
IME_MP”)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE “SYSTEM”
SQL> Select dbms_metadata.get_ddl(‘INDEX’,’SMON_SCN_TIME_SCN_IDX’,’SYS’) FROM DUAL ;
DBMS_METADATA.GET_DDL(‘INDEX’,’SMON_SCN_TIME_SCN_IDX’,’SYS’)
——————————————————————————–
CREATE UNIQUE INDEX “SYS”.”SMON_SCN_TIME_SCN_IDX” ON “SYS”.”SMON_SCN_TIME” (“S
CN”)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE “SYSTEM”
一旦你有了索引所需的DDL 。Drop索引
Drop index sys.SMON_SCN_TIME_TIM_IDX ;
Drop index sys.SMON_SCN_TIME_SCN_IDX ;
重新运行
SQL>Analyze table SMON_SCN_TIME validate structure cascade online ;
如果干净显示If it comes out clean
使用以上步骤中dbms_metadata.get_ddl生成的脚本重建两个被drop的索引
重新运行
SQL>Analyze table SMON_SCN_TIME validate structure cascade online ;
这应该会干净显示
参考
NOTE:1088018.1 – Master Note for Handling Oracle Database Corruption Issues
NOTE:563070.1 – ORA-1499. Table/Index row count mismatch