微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle写丢失错误恢复后的全局索引和分区索引的处理方式

Oracle写丢失错误恢复后的全局索引和分区索引的处理方式


从掉电中恢复过来后,数据库的一些表能访问但是不能insert,update,以我的经验来判断很有可能表上的全局索引和影响到的那个分区的分区索引出现了问题,

我的处理方式是:

1、在恢复的时候有备份的那就按照备份来;

2、有时候当前redo坏掉了,数据库能起来,但是数据还是会丢,除非只是用备份,以及一致的归档日志;

3、不然数据还是会丢,并且出现不一致的情况,那么索引也是如此;

4、具体我的处理是,rebuild全局索引,rebuild某个分区的索引,意思是说分区索引只rebuild一个分区;

alter index g_index rebuild online;

alter index p_index rebuild partition p_name;

一般报的错就能意识到。

如果幸运的话,那么以上重建后也就好了。

有时候还会出现对象不存在的情况,出问题的分区也无法truncate,会报对象不存在的错误,很莫名其妙。

这个是Oracle会去检查对象号和对象类型的一致性,有时候调整参数"_db_block_check_objtyp"参数为false就解决了,

如果解决了的话还算比较幸运的,我碰到的情况又出现了别的问题,后来我只能完全重建了一个表,将数据导入到新表,

然后rename表,将问题解决

原文地址:https://www.jb51.cc/oracle/209003.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐