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表,将问题解决

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...