oracle 11g跳过坏块,【Oracle故障】Oracle 11g通过ABMR自动修复坏块的方法

Oracle 11g通过ABMR自动修复坏块的方法

在11gActive DataGuard中,如果我们使用real time的功能,我们就可以使用Automatic Block Media Repair的特性来修复主库的坏块.因为当你使用了real time的功能后,你对主库的更新会迅速传到备库,此时主库出现坏块,我们可以相反的从备库上把已经applying的block在传回给主库。

1、open real timeFeature

alter database recover managed standby database cancel;

alter database open read only;

alter database recover managed standby database using current logfile disconnect;

2、Identify the blocks allocated to a table that contains containing data.

You may use the following query to translate the rowid to a file# and block#

select rowid, dbms_rowid.rowid_block_number(rowid) blockno, dbms_rowid.rowid_relative_fno(rowid) fno

from test.test

where rownum < 100

/

3. Using the block from the datafile identified file# using DD utility at OS level.

dd if=/dev/zero f=/oradata/orcl/users.dbf count=1 seek=164 bs=8192 conv=notrunc

4. Check the datafile for corruption :

dbv file=/oradata/orcl/users.dbf blocksize=8192

5. Flush the buffer cache on primary database to force a re-read the data from disk

alter system flush buffer_cache;

6. Attempt to select from the table. No error should occur and the data should return as valid

select * from test.test

where dbms_rowid.rowid_block_number(rowid)=164

and dbms_rowid.rowid_relative_fno(rowid)=9

/

此时我们可以看到数据能够查询出来,那么看一下我们的后台alert日志,记录了下列内容:

Wed Jul 07 17:34:25 2012

ALTER SYSTEM: Flushing buffer cache

Wed Jul 07 17:35:09 2012

Hex dump of (file 9, block 164) in trace file /oracle/app/oracle/diag/rdbms/dg1/dg1/trace/dg1_ora_4391.trc

Corrupt block relative dba: 0x010000ab (file 9, block 164)

Completely zero block found during multiblock buffer read

Reading datafile '/oradata/orcl/users.dbf ' for corruption at rdba: 0x010000ab (file 9, block 164)

Reread (file 9, block 164) found same corrupt data

Starting background process ABMR

Wed Jul 07 17:35:09 2012

ABMR started with pid=55, OS id=4364

Auto BMR service is active.

Requesting Auto BMR for (file 9, block 164)

Waiting Auto BMR response for (file 9, block 164)

Auto BMR successful

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值