Oracle RMAN备份validate验证
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;