首页 > Oracle > RMAN验证备份的有效性!
2013
10-27

RMAN验证备份的有效性!

有时生产库每天备份的时候,为了需要下次能够有效的恢复,可以在系统备份完成之后对备份进行一个有效的检验,以便下次能够使用此备份恢复。

1. 使用validate进行校验:validate命令可以手工校验数据文件物理和逻辑上的坏块,如果想针对某一个block进行校验,可以使用validate datafile … block命令。此外当我们校验整个数据文件时,rman会校验输入文件的每个block,如果验证没有发现被标记为坏块的block,rman就会更新v$database_block_corruption视图来记录。例如:

在这个验证过程中,可以看到使用validate database命令验证,会对control file,spfile和datafiles进行验证,同时验证的也是最新的备份集。

2. 对单个备份片进行校验:如果怀疑你当前的备份集中的有损坏或者丢失的情况,可以对这个备份片单独进行验证,命令是:validate backupset ,这个命令会校验备份集中的每一个block,已确保这些block可以被用来恢复。

3. validate单个数据块:可以指定单个数据块进行校验。

4. 使用backup validate校验:使用这种方式校验,可以做如下校验:

1:检查数据文件是否存在物理或者逻辑的坏块

2:检查所有数据文件是否存在,并且是否存在于正确的位置

当用此方法校验时,rman会按照备份来读取所有的数据文件,但并不会产生backup sets和image copy。

如果只想验证所有的数据文件和归档日志,可使用backup validate database archivelog all; 这个命令只会校验物理坏块,不会校验逻辑坏块,如果想校验逻辑坏块,可使用命令:backup validate check logical database archivelog all;

5. 使用restore validate校验:这种方式校验,只能在数据库mount或者open状态的时候才可以使用,在校验数据文件的时候,不需要将数据文件offline,校验的时候,只会从备份集中提取,不会影响数据文件,只会进行校验,不会真正的恢复。例如:

1. 校验整个数据库和所有归档:

restore database validate;

restore archivelog all validate;

2. 校验controlfile和spfile:

restore controlfile validate;

restore spfile validate;

关于验证rman备份集差不多就这么几种方式了,备份集作用就是用来恢复,所以恢复有效性还是非常重要的。不然备份不能恢复还能用来干嘛呢。

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL