dataguard数据库坏块自动修复

在Oracle Data Guard环境中,当出现数据库坏块时,系统能够自动进行修复。通过创建测试表并模拟坏块问题,可以看到DBMS_ROWID显示了受影响的文件和块。在执行数据恢复操作后,后台进程ABMR(Automatic Block Media Recovery)启动并成功修复了指定文件和块的损坏。而在单实例数据库中,这一自动修复功能不适用。
摘要由CSDN通过智能技术生成

在dg环境中数据库的坏块是可以自动修复的。

主库创建测试表

select distinct dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from scott.test;

DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)


               6                      131

dd if=/dev/zero of=/data/dbadb/ts.dbf bs=8192 count=1 seek=131 conv=notrunc
执行后,再次查看测试表

SQL> alter system flush buffer_cache;

System altered.

SQL> select count(*) from scott.test;

  COUNT(*)
----------
    32

查看alert日志
Corrupt block relative dba: 0x01800083 (file 6, block 131)
Completely zero block found during buffer read
Reading datafile ‘/data/dbadb/ts.dbf’ for corruption at rdba: 0x01800083 (file 6, block 131)
Reread (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值