当前位置:  数据库>oracle

强制OPEN数据库后遭遇ORA-08102故障的处理方法

    来源: 互联网  发布时间:2017-06-17

    本文导语: 用隐含参数强制OPEN数据库后会有很多遗留问题,如:需重建UNDO表空间,此外还会伴随有ORA-08102错误 刚才做破坏online日志实验的时候采用加隐含参数强制打开过数据库,之后alert日志就一直会报ORA-08102Wed Jun 24 13:56:24 2015Errors in fil...

用隐含参数强制OPEN数据库后会有很多遗留问题,如:需重建UNDO表空间,此外还会伴随有ORA-08102错误

刚才做破坏online日志实验的时候采用加隐含参数强制打开过数据库,之后alert日志就一直会报ORA-08102
Wed Jun 24 13:56:24 2015
Errors in file /u01/app/Oracle/admin/ora10g/bdump/ora10g_j000_4737.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-08102: index key not found, obj# 239, file 1, block 1674 (2)
ORA-12012: error on auto execute of job 1
ORA-08102: index key not found, obj# 239, file 1, block 1674 (2)

--查看obj# 239的对象
SYS@ora10g> set line 130 pages 130
SYS@ora10g> col object_name form a15
SYS@ora10g> col owner for a10
SYS@ora10g> select owner,object_name,object_id,object_type from dba_objects where object_id=239;

OWNER  OBJECT_NAME    OBJECT_ID OBJECT_TYPE
---------- --------------- ---------- -------------------
SYS  I_JOB_NEXT  239 INDEX

--查看I_JOB_NEXT这个索引属于哪个表
SYS@ora10g> select owner,index_name,table_name from dba_indexes where index_name='I_JOB_NEXT';

OWNER  INDEX_NAME  TABLE_NAME
---------- ------------------------------ ------------------------------
SYS  I_JOB_NEXT  JOB$

--查看I_JOB_NEXT这个索引创建再JOB$表的哪个列上
SYS@ora10g> col index_name for a10;
SYS@ora10g> col index_owner for a10
SYS@ora10g> col table_name for a10
SYS@ora10g> col column_name for a15
SYS@ora10g> select INDEX_OWNER,INDEX_NAME,TABLE_NAME,COLUMN_NAME from dba_ind_columns where INDEX_NAME='I_JOB_NEXT';

INDEX_OWNE INDEX_NAME TABLE_NAME COLUMN_NAME
---------- ---------- ---------- ---------------
SYS  I_JOB_NEXT JOB$ NEXT_DATE

根据metalink上的文章:

ORA-08102: TRYING TO MANIPULATE A JOB IN DBA_JOBS [ID 1036858.6]

Solution Description:
=====================

You need to recreate the inex I_JOB_NEXT.

Script "$ORACLE_HOME/rdbms/admin/cat7103.sql" creates the I_JOB_NEXT:

Drop and recreate this index.

connect sys/
drop index i_job_next;
create index i_job_next on job$ (next_date)

Note: alter index I_JOB_NEXT rebuild;

      Will not fix the problem.

重建索引是没有用的,必须先删除,再重新创建

1.先删除索引i_job_next

SYS@ora10g> drop index i_job_next;

Index dropped.

2重建索引i_job_next;

SYS@ora10g> create index i_job_next on job$ (next_date);

Index created.

重建索引后,问题解决。所以,在没有必要的情况下,不要轻易去用隐含参数_allow_resetlogs_corruption=true去强制打开数据库,有隐患,如果不知道处理方法,仍然会对数据库产生影响。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Web前端设计:Html强制不换行<nobr>标签用法代码示例
  • 请问如何修改网卡的速率,如强制100M,强制10M,怎么实现的,是不是要修改驱动?
  • Linux下glibc库文件锁:协同锁(advisory lock)和强制锁(mandatory lock)
  • css强制换行 css强制不换行的css方法
  • 标准c++四种强制类型转换方式介绍
  • 结构指针类型强制转换
  • 如何加强制性锁?
  • PHP 强制下载文件示例代码
  • 怎么强制删除一个安装程序啊
  • 请问qt如何强制关闭窗口
  • dhcp如何强制更新ip?
  • php实现文件强制下载代码
  • 深入C++四种强制类型转换的总结
  • 强制关机 现在进不了桌面
  • css white-space:nowrap属性用法(可以强制文字不换行输出)
  • MYSQL中常用的强制性操作(例如强制索引)
  • 函数指针的强制类型转换实现代码
  • JAVA有没有强制回收机制?
  • java中强制转换
  • 强制认证门户 Opengate
  • Linux C下socker编程,如何强制不分片?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3