您的位置:首页 > 数据库 > Oracle

Oracle 10g备份与恢复高级用户指南--第三章 RMAN恢复(Recovery)概念

2017-01-01 13:30 609 查看

第三章        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/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: