RMAN其他恢复主题


1、只读表空间的恢复
默认情况下,即使丢失了只读的数据文件,RMAN也不会在执行完全数据库还原操作时还原只读的数据文件。要在完全恢复期间还原只读的数据文件,就必须在restore命令中使用check readonly参数。
 restore database check readonly;
 需要注意的是,执行recover tablespace或recover datafile命令时,RMAN的工作情况是不一样的。使用上述任何一种recover命令时,不管表空间是否为只读状态都会执行恢复操作。
 2、归档重做日志的还原
 在默认位置上还原指定的归档重做日志
 restore archivelog all;
 restore archivelog from logseq=20 thread=1;
 restore archivelog from logseq=20 until logseq=30 thread=1;
 在默认位置以外的目录中还原归档重做日志,必须使用run代码块
 run
 {
 set archivelog destination to "d:\Oracle\newarch";
 restore archivelog all;
 }
 需要注意的是,如果RMAN认为一个归档重做日志已经存在,就不会在磁盘上还原,即使设置还原到其他位置也不行。
 3、数据文件副本的还原
 可以从数据文件副本(而不是备份集)中还原数据库的数据文件。
 restore (datafile 5) from datafilecopy;
 recover datafile 5;
 sql "alter database datafile 5 online;"
 4、恢复损坏的数据块————块介质恢复(block media recovery,BMR)
 blockrecover datafile 19 block 44;
 可以恢复多个数据文件中的多个数据块
 blockrecover datafile 19 block 44,46,127;
 blockrecover datafile 19 block 44 datafile 22 block 203;
 可以使用backup validate database命令查看RMAN在备份和复制期间检测到的所有数据库损坏,这条命令会在v$backup_corruption(历史坏快)和v$database_block_corruption(当前坏快)视图中填充检测到的所有坏快。
 可以使用以下命令修复v$database_block_corruption视图中记录的坏快:
 blockrecover corruption list restore until time 'sysdate - 5';
 可以使用nofileupdate测试运行:
 blockrecover corruption list restore until time 'sysdate - 5' nofileupdate;
 在以上命令中还能使用until SCN和until sequence关键字。

推荐阅读:

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

相关内容