ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-8104

ORA-8104

原创 Linux操作系统 作者:安佰胜 时间:2011-03-23 09:20:46 0 删除 编辑

ORA-8104
----------------
出现原因
rebuild online重建索引中断,如process被kill容易引起这个错
一旦报错索引不能重建,也不能使用
直到SMON清理了上回失败的现场才能进行重建。
在正常的系统中smon会定期清理像这种被kill的失败事务
但如果系统繁忙smon很可能短时间内清理不掉,
或者需要在smon自动启动前将这个错误处理的情况下可以使用如下方法处理

10.2
Oracle提供了一个 dbms_repair.online_index_clean来解决这个问题。
9.2
停应用,重启数据库,在SMON完成清理前不要启动应用。

有一个手工的方法有可能不需要停库,不过这个方法不是100%成功的,如果日志表比较忙就无法处理了。
首先我们要了解REBUILD ONLINE失败后哪些地方受到了影响,
首先ind$中这个索引的FLAGS被加上了512,
另外会在这个用户下产生一张日志表sys_journal_
我们要做的工作就是清除这两个部分。
sql>update ind$ set flags=flags-512 where obj#=;          /* 首先要确认flags>512如果不是,说明这个标志是正常的*/
sql>drop table .sys_journal_;     /*这个步骤可能会报资源忙,因为有大量的日志正在插入,可以反复重试一下 */
 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-690215/,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle客户端升级
请登录后发表评论 登录
全部评论

注册时间:2009-08-26

  • 博文量
    215
  • 访问量
    625152