星期五, 1月 30, 2015

[轉載] Oracle blockrecover limits

Oracle blockrecover limits

Ref: http://dongyongjun.blog.sohu.com/258775237.html

BLOCKRECOVER 的使用限制:
1、資料庫必須在ARCHIVELOG模式下才可以使用這個功能;
2、資料庫必須是mountopen狀態;
3不能對一個offlinedatafile進行BLOCKRECOVER;
4blockrecover需要通過一個full backups 恢復data block,不能使用incremental backups進行錯誤恢復;
5blockrecover不能跨越archivelog丟失或損壞,也就是說在恢復的過程中,不能丟失需要的歸檔日誌;
6blockrecover不能恢復邏輯壞塊,邏輯壞塊必須首先restore損壞的資料檔案,然後在用recover進行恢復;
7blockrecvoer不能恢復file header block.(block=1).

-----上網找了一下關於官方文件 :  (10.2) Restrictions and Usage Notes

You must have a full backup of the file containing the corrupt blocks: block media recovery cannot use incremental backups.
==>必須要有一次的全備份
If RMAN fails to access a specific archived redo log file needed for block media recovery, it performs restore failover, trying all other backups listed in the RMAN repository that are suitable for use in this operation, and only fails if no suitable backup is available. See Oracle Database Backup and Recovery Advanced User's Guide for details on restore failover.
==>在修復的過程中, 不能loss掉需要的archive log, 如果有壞掉的archivelog, RMAN會嘗試找尋可用的incremental backup, 來確保恢復能正常進行下去
Block media recovery cannot survive a missing or inaccessible archived log, although it can sometimes survive missing or inaccessible records (Oracle Database Backup and Recovery Advanced User's Guide).
==>在修復的過程中, 不能loss掉需要的archive log
The datafile header block (block 1) cannot be recovered.
==>datafile header是無法被修復的
You cannot perform block media recovery in NOARCHIVELOG mode.
==>必須在archivelog mode

-----
這邊再補充一點, 
Oracle 11g 如果要透過建議的方式來修復corrupted block,
1.只能在single instance 上面使用
list failure; 
advise failure; 
repair failure; 

2.要更方便修復的話, 可以用舊的方法
2.1 讓rman檢查有哪些壞塊
backup validate database;

2.2 找出有哪些壞掉的block
select * from V$DATABASE_BLOCK_CORRUPTION; 

2.3 修復之
blockrecover datafile 6 block 10, 42, 34, 50, 26;
or
BLOCKRECOVER CORRUPTION LIST;

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...