【翻譯自mos文章】ABMR:在asm 環境中測試Automatic Block Recover 特性的方法,mosabmr

來源:互聯網
上載者:User

【翻譯自mos文章】ABMR:在asm 環境中測試Automatic Block Recover 特性的方法,mosabmr

ABMR:在asm 環境中測試Automatic Block Recover 特性的方法

參考原文:
ABMR: How to test Automatic Block Recover Feature with ASM setup (Doc ID 1510090.1)

適用於:
Oracle Database - Enterprise Edition - Version 11.2.0.3 and later
Information in this document applies to any platform.


目標:
警告---注意:本文提供的步驟僅限於測試abmr特性的目的,並且僅能在測試環境中執行。

本文描述了:在一個standby 環境中,產生block corruption 的步驟  以及 recover 壞塊,
 recover 壞塊 使用的是ABMR ( Auto BMR Background Process ) 特性
 
本文只用於測試目的下的 使用外部冗餘的asm 環境。

作為一個預先需求,主庫和備庫應該被適當配置並工作正常(即:同步正常)



環境是即時應用下的 physical standby database:

SQL> select DATABASE_ROLE, open_mode from v$database; --> From standby

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY READ ONLY WITH APPLY


解決方案:

1) 在asm中建立一個tablespace,
SQL> create tablespace test datafile '+/..../datafile/test1.dbf' size 1M autoextend on;
2)在上一步建立的資料表空間中建立表,並在表中注入測試資料。
SQL> create table abmr_test tablespace test as select * from all_objects;
SQL> commit;
--->注意:commit可以不要,因為ddl是隱含提交的。原文如此。


3)Offline the tablespace,然後把datafile 拷貝到檔案系統中。
SQL> alter tablespace test offline;
4)調用asmcmd
 $ asmcmd -p

ASMCMD [+] > cp +/.../datafile/test1.dbf /tmp/.

5)破壞這個datafile
dd of=/tmp/test1.dbf bs=8192 conv=notrunc seek=11

6)運行dbv 確認該檔案損壞(corruption)
dbv file=/tmp/test1.dbf blocksize=8192 feedback=10000


7) 把這個檔案拷貝回asm,然後使用dbv驗證壞塊
$ asmcmd -p

ASMCMD [+] > cp /tmp/test1.dbf +/.../datafile/test1.dbf   

$ dbv file= /tmp/test1.dbf +/.../datafile/test1.dbf userid=../.. blocksize=8192 feedback=10000

8)online datafile

SQL> alter tablespace test online;

9)查詢表--驗證 Automatic block recovery啟動並修複了損壞的blocks

SQL> select * from ABMR_TEST; <---當 AMBR starts and repairs時, 這一步會被 pause。

10)tail -f alert.log,會看到ambr進程正在工作:

Automatic block media recovery service is active.
Automatic block media recovery requested for (file# 9, block# 11)
..........
Automatic block media recovery successful for (file# 9, block# 11)


上面的測試過程是於abmr 相關的。
當使用rman 引入(製造)一個壞塊,通過拷貝file到os,損壞該檔案,然後restore 到原來位置,這麼製造壞塊,abmr是不工作的
這是因為當restore時,rman本身會檢測到corrupt 並且會在alert中爆出ora-01578錯誤

當rman 檢測到corrupt時,  the 'Auto BMR' 特性不會被觸發。

參考:
Note : 1266059.1 ABMR: How to test Automatic Block Recover Feature




相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.