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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值