KingbaseESV7故障处理-数据损坏

本文介绍了数据库数据因硬件问题导致损坏时的恢复策略,包括利用备份恢复、参数zero_damaged_pages处理数据块头部损坏和数据部分损坏,以及重建相关视图和索引的过程。
摘要由CSDN通过智能技术生成

由于磁盘坏道或者是内存问题等硬件上的原因,有时候会导致数据库的数据文件的一些数据块的损坏,使得某些表不能正常访问, 数据块的损坏一般只会影响到一个表,使得该表的数据不能查询或者是备份。

数据块的损坏的情形比较复杂,所以如何恢复,或者是能恢复到什么情形不能一概而论。最好的情况是丢失一个数据块里面的所有记录(也有可能只丢失某些记录,但是方法比较复杂),最坏也有可能整个表丢失。

最简单的方法是,用备份恢复!如果你有做备份和日志归档,则出现问题以后,恢复到最新即可。如果没有备份,则请参考下面的方法。

数据块头部损坏

例如:

select * from test ;

ERROR: invalid page header in block 1 of relation xxx;

方法:利用参数zero_damaged_pages,当这个参数为true的时候,会忽略所有数据有损坏的页面。

数据块数据部分损坏

例如:

select * from test ;

数据库down掉了。

方法:Select * from test offset xxx limit xxx;

上述两种方法都为了达到同一个结果,将没有损坏的数据尽可能的通过copy或者select的方式导出来,重建表。

注:依赖于此表的相关视图和索引也需要重建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值