kingbase坏块的检测及处理方法

检测方法

可以使用逻辑备份,备份整个库当没有报错的时候则代表没有报错。
当某个表存在坏块的时候select * from table;查询可能会报错

处理办法

先reindex table 坏块表;简单处理下如果不行则只能删除坏块行。
可以用下边的块函数查找每一行的ctid,然后将报错的ctid删掉(delete from table where ctid=‘(x,x)’),反复执行直到没有坏块为止。

DO $$
declare
 v_rec record;
BEGIN
	for v_rec in SELECT * FROM tt001 loop
        raise notice 'Parameter is: %', v_rec.ctid;
        raise notice 'Parameter is: %', v_rec;
end loop; 
END;
$$
LANGUAGE plsql;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值