rman命令,驗證的目的主要是為了檢查損壞的塊和丟失的文件
驗證備份集是不是可以用來做恢復
驗證數據文件是否損壞,壞塊
RMAN驗證有三種方式:
1.validate
RMAN> validate database;
RMAN> validate tablespace users;
RMAN> validate tablespace system;
RMAN> validate datafile 1;
RMAN> validate archivelog all;
RMAN> validate datafile 1 block 10; #驗證數據文件單個數據塊block是否損壞
RMAN> validate backupset 28; #驗證備份集
cd /u01/app/oracle/oradata
dbv file=system01.dbf #驗證數據文件是否損壞
#關於檢驗和損壞塊:
db_block_checksum=typical
#用於控制數據庫中數據文件和redo文件中的檢驗和寫入
#數據庫在正常操作期間為每一個塊計算校驗和,將其寫入磁盤之前存儲在塊的頭部
#當數據庫從磁盤中讀取塊的時候,會重新計算校驗和,與之前存儲的校驗和進行比較,如果補匹配就代表塊已經損壞。
#物理損壞和邏輯塊損壞:
#1.物理損壞,數據庫根本無法識別該塊:
#校驗和無效,塊中全部是0,塊的header和footer不匹配
#2.邏輯損壞,塊的內容在邏輯上不一致,例如:行片損壞、索引條目損壞
#默認情況下,RMAN不檢查邏輯壞塊。
RMAN> validate check logical database;
RMAN> backup validate check logical database;
RMAN> backup validate archivelog all;
2.backup...validate
#不生成任何備份
RMAN> backup validate database;
RMAN> backup validate check logical database;
RMAN> backup validate archivelog all;
3.restore...validate
#驗證數據庫是否能進行恢復
RMAN> restore database validate;
RMAN> restore datafile 1 validate;
