【Oracle数据恢复】ORA-08102错误分析:JOB$与索引I_JOB_NEXT数据不一致

如果你在ORACLE数据库系统的alert.log 中反复看到类似于如下的错误:

ORA-12012 error on auto execute of job 1
ORA-08102 index key not found, obj# 239, file 1, block 1674 (2)

[oracle@vrh8 ~]$ 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

 

则可能你已经遇到了与本例类似的问题,可以通过下面的命令来分析是否是JOB$数据字典基础表与其索引I_JOB_NEXT上的数据不一致引起的:

 

select owner , object_name , object_type , status from dba_objects
where object_id=239 ;
analyze table job$ valid structure cascade;

 

如果analyze命令报错则说明确实有不一致, 一般这种情况可以rebuild I_JOB_NEXT索引来解决, 顺序是drop index I_JOB_NEXT然后重建。

 

如果重建索引后在此analyze 仍报错,则说明 数据的不一致主要出现在表块上,对于这种情况可以采取如下的手段。

  1. 重建job$表,并将数据再次导入
  2. 重建job$上的2个索引

如果自己搞不定可以找ASKMACLEAN专业数据库修复团队成员帮您恢复!

 

ASKMACLEAN专业数据库修复团队成员:

 

刘相兵  服务热线 : +86 13764045638 ;  邮箱  maclean.liu@parnassusdata.com ; QQ 47079569

胡章扬    邮箱 zyhu2006@gmail.com ;  QQ 363692655

 

沪ICP备14014813号-2

沪公网安备 31010802001379号