第三章 RMAN恢复(Recovery)概念
1. RMAN还原文件
RMAN 可还原的文件类型:
l 数据库(所有数据文件)
l 表空间
l 控制文件(control file)
l 归档日志文件
l Spfile
A. 数据文件还原操作机制;
原位置还原:覆盖原同名文件
新位置还原:
例如,还原数据文件?/oradata/trgt/tools01.dbf到默认位置,rman会覆盖同名文件;如果,还原前运行 set newname 命令,rman会创建一个指定的数据文件拷贝。假设,运行如下命令:
RUN {
SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE DATAFILE '?/oradata/trgt/tools01.dbf';
SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
}
rman创建 ?/oradata/trgt/tools01.dbf数据文件拷贝,并命名为/tmp/tools01.dbf ,同时在rman资料库中记录相关信息。To update the control file to use the datafile copy at ?/oradata/trgt/tools01.dbf to /tmp/tools01.dbf as the datafile, use the SWITCH command as shown in the following example:
SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
switch 命令就相当与sql 的alter database rename file;
B. 还原(Restore)操作如何选择备份
选择最近最合适的备份;同一时间点上有多个备份,则优先选择镜像拷贝(还原速度更快);没有合适的备份,则会返回错误;如果手动指定channel,而在指定channel设备上没有合适的备份,则restore会失败,因此,配置自动分配channel更好;
C. 还原(Restore)的故障迁移
当restore时,如果发现备份片,镜像备份、代理备份或数据块损坏的话,RMAN会自动寻找其他可用的备份;首先会寻找同批次备份的其他副本,然后再找前一批次中合适备份,如果都没有找到,RMAN会重建数据文件;
故障迁移同样在数据库恢复(RECOVER、BLOCKRECOVER、FLASHBACK DATABASE)报错时使用;
故障迁移信息如:
failover to piece handle=/u01/backup/db_1 tag=BACKUP_031009
坏块相应信息打印到alert.log与trace files中;
D. 还原优化:restore中,已经还原或没有更改的数据文件会被跳过而不执行还原;force选项则会强制执行还原;DUPLICATE不支持force选项;
2. RMAN数据文件介质(media)恢复
A. RMAN media recovery的基本步骤
l 设置数据库状态:mount or open;例如,在执行全库恢复是则要mount状态;而执行online表空间恢复时则可open状态
l 执行不完全恢复时,可使用SET UNTIL 命令指定restore或recover的时间,SCN, restore point(还原点),log sequence number;同样,也可在restore和recovery命令中指定UNTIL子句;
l Restore命令
l Revover命令
l 更改数据库为正常状态
B. 恢复机制:增量备份与redo log
以下情况归档日志会被记录在控制文件中:
l 归档进程对redolog归档
l RMAN restore归档日志
l RMAN BACKUP AS COPY 命令拷贝日志
l RMAN CATALOG命令编目用户管理归档日志
如果使用recovery catalog,RMAN产生归档日志数据并写入recovery catalog中,并且将归档日志分类为镜像拷贝;
C. 资料库信息与实际文件不同步
如果归档日志用系统命令删除了,而RMAN资料库中任然记录这些归档日志信息,则rman在用这些归档日志恢复时会失败,并且rman不会尝试其他拷贝文件而直接报错;
运行crosscheck命令,同步资料库信息;
D. 时间点恢复或不完全恢复: time, SCN, restore point, or log sequence number用SET UNTIL选项;
执行时间点恢复或不完全恢复后,必须以RESETLOGS选项打开数据库;
3. RMAN block介质(media)恢复(Blockrecover)
命令格式:BLOCKRECOVER DATAFILE 7 BLOCK 3 DATAFILE 2 BLOCK 235;
Block media recovery 的优点:
l 更低的平均恢复时间MTTR(mean time to recovery):因为只是对坏块的restore,最少的redo应用和更低IO负载
l 允许受影响的数据文件online block恢复;
Block media recovery限制条件:
l 只能在RMAN中执行;
l 只能执行单个block的完全恢复;
l 只能对已经标示的坏块恢复;
l 必须有RMAN的全备份,才能执行Block media recovery;
l 通过resetlogs,Block media recovery能够从父备份还原和恢复坏块;
l 被标示的坏块恢复前都不能访问;
A. 什么时候使用Block media recovery
Block Media Recovery不是datafile media recovery替代方法,但是是datafile media recovery的补充方法;
Block Media Recovery对特定块的数据丢失特别有用;块级的数据丢失通常发生在间歇性或随机性的IO错误;
坏块报告通常记录在如下文件中:
l Error messages in standard output
l The alert log
l User trace files
l Results of the SQL commands ANALYZE TABLE and ANALYZE INDEX
l Results of the DBVERIFY utility
l Third-party media management output
命令格式:
BLOCKRECOVER DATAFILE 7 BLOCK 3
DATAFILE 2 BLOCK 235;
B. 当redo缺失时数据块介质恢复???????
Block Media Recovery When Redo Is Missing???????
数据文件介质恢复时需要一系列完整的redo日志;而数据块介质恢复则只需要块变化相关的redo日志;
4. RMAN 复制数据库
RMAN DUPLICATE命令可以在其他位置创建目标数据库的拷贝;duplicate命令可以:
a.restore目标数据库文件为复制数据库文件,并且可以利用归档日志或增量备份执行不完全恢复;
b。不完成恢复后,可以resetlogs打开复制数据库;
c。为复制数据库产生新的唯一数据库ID
SKIP READONLY:跳过只读表空间;
SKIP TABLESPACE:排除表空间(system,sysaux例外,另外,包含rollback、undo的表空间也不能排除)
NOFILENAMECHECK:在另一台主机中创建复制数据库时,如果有相同的目录结构,则可通过NOFILENAMECHECK选项,重用目标数据库的文件名;
5. RMAN 创建物理备用数据库
RMAN DUPLICATE命令可以创建备份数据库,但是需要手动创建初始化参数文件(init.ora)用于启动备份数据库实例;另外,还要备份所有的数据文件,控制文件;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16976507/viewspace-2131744/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16976507/viewspace-2131744/