知识大全 OracleRMAN物理备份技术之恢复案例三

Posted 文件

篇首语:愿你纵踩淤泥,也要心向光明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 OracleRMAN物理备份技术之恢复案例三相关的知识,希望对你有一定的参考价值。

OracleRMAN物理备份技术之恢复案例三  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  恢复案例三 恢复控制文件

  全部控制文件丢失 需要从备份的控制文件恢复 恢复了控制文件后必须要进行RECOVER恢复然后用RESETLOGS参数打开数据库 我们也可以把控制文件恢复到其他位置(不是在参数文件中给出的控制文件位置) 本例假定没有使用恢复目录 我们将在以后介绍带有恢复目的RMAN备份如何恢复控制文件 如果没有恢复目录 用RMAN只能在NOMOUNT状态从备份中进行控制文件的恢复

  从自动备份控制文件恢复

  

  RMAN> configure controlfile autobackup on;

  旧的 RMAN 配置参数

  

  CONFIGURE CONTROLFILE AUTOBACKUP OFF;

  新的 RMAN 配置参数

  

  CONFIGURE CONTROLFILE AUTOBACKUP ON;

  已成功存储新的 RMAN 配置参数

  

  RMAN> show all;

  RMAN 配置参数为

  

  CONFIGURE RETENTION POLICY TO REDUNDANCY ; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO %F ; # default CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM ; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO ; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO ; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM AES ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO D:\\ORACLE\\PRODUCT\\ \\DB_ \\DATABASE \\SNCFROME ORA ; # default RMAN> backup database; 启动 backup 于 月 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 通道 ORA_DISK_ : 启动全部数据文件备份集 通道 ORA_DISK_ : 正在指定备份集中的数据文件 输入数据文件 fno= name=F:\\ORACLE\\ORADATA\\ROME\\UNDOTBS DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSTEM DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSAUX DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\USERS DBF 输入数据文件 fno= name=E:\\ORACLE\\ORADATA\\ROME\\TEST DBF 通道 ORA_DISK_ : 正在启动段 于 月 通道 ORA_DISK_ : 已完成段 于 月 段句柄=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NNNDF_TAG T _ VFDHGYR_ BKP 标记=TAG T 注释=NONE 通道 ORA_DISK_ : 备份集已完成 经过时间: : : 完成 backup 于 月 启动 Control File and SPFILE Autobackup 于 月 段 handle=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\AUTOBACKUP\\ _ _ \\O _MF_S_ _ VFDJ V_ BKP ment=NONE 完成 Control File and SPFILE Autobackup 于 月 SQL> shutdown immediate 数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭 删除所有的控制文件 SQL> startup ORACLE 例程已经启动 Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes ORA : ????????? ?????? ??????? SQL> shutdown immediate ORA : ?????? ORACLE 例程已经关闭 SQL> startup nomount ORACLE 例程已经启动 Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes RMAN> SET DBID ; 正在执行命令: SET DBID RMAN> restore controlfile from autobackup; 启动 restore 于 月 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 恢复区域目标: d:\\oracle\\product\\ \\flash_recovery_area 用于搜索的数据库名 (或数据库的唯一名称): ROME 通道 ORA_DISK_ : 在恢复区域中找到自动备份 通道 ORA_DISK_ : 已找到的自动备份: D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ ROME\\AUTOBACKUP\\ _ _ \\O _MF_S_ _ VFDJ V_ BKP 通道 ORA_DISK_ : 从自动备份复原控制文件已完成 输出文件名=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\CONTROL CTL 输出文件名=F:\\ORACLE\\ORADATA\\ROME\\CONTROL CTL 输出文件名=E:\\ORACLE\\ORADATA\\ROME\\CONTROL CTL 完成 restore 于 月 RMAN> sql alter database mount ; sql 语句: alter database mount 释放的通道: ORA_DISK_ RMAN> recover database; 启动 recover 于 月 启动 implicit crosscheck backup 于 月 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 已交叉检验的 对象 完成 implicit crosscheck backup 于 月 启动 implicit crosscheck copy 于 月 使用通道 ORA_DISK_ 已交叉检验的 对象 完成 implicit crosscheck copy 于 月 搜索恢复区域中的所有文件 正在编制文件目录 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\AUTOBACKUP\\ _ _ \\O _MF_S_ _ VFYT Y _ BKP 使用通道 ORA_DISK_ 正在开始介质的恢复 存档日志线程 序列 已作为文件 D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A L OG 存在于磁盘上 存档日志文件名 =D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A LOG 线程 = 序列 = 介质恢复完成 用时: : : 完成 recover 于 月 RMAN> sql alter database open resetlogs ; sql 语句: alter database open resetlogs

  从包含控制文件的全库备份恢复

  

  RMAN> configure controlfile autobackup off; 旧的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP OFF; 已成功存储新的 RMAN 配置参数 RMAN> backup database; 启动 backup 于 月 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 通道 ORA_DISK_ : 启动全部数据文件备份集 通道 ORA_DISK_ : 正在指定备份集中的数据文件 输入数据文件 fno= name=F:\\ORACLE\\ORADATA\\ROME\\UNDOTBS DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSTEM DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSAUX DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\USERS DBF 输入数据文件 fno= name=E:\\ORACLE\\ORADATA\\ROME\\TEST DBF 通道 ORA_DISK_ : 正在启动段 于 月 通道 ORA_DISK_ : 已完成段 于 月 段句柄=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NNNDF_TAG T _ VG P _ BKP 标记=TAG T 注释=NONE通道 ORA_DISK_ : 备份集已完成 经过时间: : : 通道 ORA_DISK_ : 启动全部数据文件备份集 通道 ORA_DISK_ : 正在指定备份集中的数据文件 备份集中包括当前控制文件 在备份集中包含当前的 SPFILE 通道 ORA_DISK_ : 正在启动段 于 月 通道 ORA_DISK_ : 已完成段 于 月 段句柄=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VG PZ C_ BKP 标记=TAG T 注释=NONE通道 ORA_DISK_ : 备份集已完成 经过时间: : : 完成 backup 于 月 SQL> shutdown immediate 数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭 删除所有控制文件 SQL> startup nomount ORACLE 例程已经启动 Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes C:\\Documents and Settings\\Administrator>rman target / 恢复管理器: Release Production on 星期三 月 : : Copyright (c) Oracle All rights reserved 连接到目标数据库: rome (未装载) RMAN> RESTORE CONTROLFILE FROM D:\\oracle\\product\\ \\flash_recovery_area\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VG PZ C_ BKP ; 启动 restore 于 月 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 通道 ORA_DISK_ : 正在复原控制文件 通道 ORA_DISK_ : 恢复完成 用时: : : 输出文件名=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\CONTROL CTL 输出文件名=F:\\ORACLE\\ORADATA\\ROME\\CONTROL CTL 输出文件名=E:\\ORACLE\\ORADATA\\ROME\\CONTROL CTL 完成 restore 于 月 RMAN> sql alter database mount ; sql 语句: alter database mount 释放的通道: ORA_DISK_ RMAN> recover database; 启动 recover 于 月 启动 implicit crosscheck backup 于 月 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 已交叉检验的 对象 完成 implicit crosscheck backup 于 月 启动 implicit crosscheck copy 于 月 使用通道 ORA_DISK_ 已交叉检验的 对象 完成 implicit crosscheck copy 于 月 搜索恢复区域中的所有文件 正在编制文件目录 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VG PZ C_ BKP 使用通道 ORA_DISK_ 正在开始介质的恢复 存档日志线程 序列 已作为文件 D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A L OG 存在于磁盘上 存档日志文件名 =D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A LOG 线程 = 序列 = 介质恢复完成 用时: : : 完成 recover 于 月 RMAN> sql alter database open resetlogs ; sql 语句: alter database open resetlogs

  我们可以利用dbms_backup_restore包来恢复控制文件

  

  RMAN> backup database; 启动 backup 于 月 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 通道 ORA_DISK_ : 启动全部数据文件备份集 通道 ORA_DISK_ : 正在指定备份集中的数据文件 输入数据文件 fno= name=F:\\ORACLE\\ORADATA\\ROME\\UNDOTBS DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSTEM DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSAUX DBF 输入数据文件 fno= name=D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\USERS DBF 输入数据文件 fno= name=E:\\ORACLE\\ORADATA\\ROME\\TEST DBF 通道 ORA_DISK_ : 正在启动段 于 月 通道 ORA_DISK_ : 已完成段 于 月 段句柄=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NNNDF_TAG T _ VFPWCXS_ BKP 标记=TAG T 注释=NONE 通道 ORA_DISK_ : 备份集已完成 经过时间: : : 通道 ORA_DISK_ : 启动全部数据文件备份集 通道 ORA_DISK_ : 正在指定备份集中的数据文件 备份集中包括当前控制文件 在备份集中包含当前的 SPFILE 通道 ORA_DISK_ : 正在启动段 于 月 通道 ORA_DISK_ : 已完成段 于 月 段句柄=D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VFPX G _ BKP 标记=TAG T 注释=NONE 通道 ORA_DISK_ : 备份集已完成 经过时间: : : 完成 backup 于 月 SQL> shutdown immediate 数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭 删除所有控制文件 SQL> startup nomount ORACLE 例程已经启动 Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers bytes SQL> DECLARE devtype varchar ( ); done boolean; BEGIN devtype:=sys dbms_backup_restore deviceAllocate(type=> ident=> ); sys dbms_backup_restore restoreSetDatafile; sys dbms_backup_restore restoreControlfileTo(cfname=> D:\\oracle\\product\\ \\oradata\\rome\\Control ctl ); sys dbms_backup_restore restoreBackupPiece(done=>done handle=> D:\\oracle\\product\\ \\flash_recovery_area\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VFPX G _ BKP params=>null); sys dbms_backup_restore deviceDeallocate; exception when others then dbms_output put_line(sqlerrm); END; / PL/SQL 过程已成功完成 RMAN> restore database; 启动 restore 于 月 启动 implicit crosscheck backup 于 月 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_ 通道 ORA_DISK_ : sid= devtype=DISK 已交叉检验的 对象 完成 implicit crosscheck backup 于 月 启动 implicit crosscheck copy 于 月 使用通道 ORA_DISK_ 已交叉检验的 对象 完成 implicit crosscheck copy 于 月 搜索恢复区域中的所有文件 正在编制文件目录 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NCSNF_TAG T _ VFPX G _ BKP 使用通道 ORA_DISK_ 通道 ORA_DISK_ : 正在开始恢复数据文件备份集 通道 ORA_DISK_ : 正在指定从备份集恢复的数据文件 正将数据文件 恢复到D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSTEM DBF 正将数据文件 恢复到F:\\ORACLE\\ORADATA\\ROME\\UNDOTBS DBF 正将数据文件 恢复到D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\SYSAUX DBF 正将数据文件 恢复到D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\USERS DBF 正将数据文件 恢复到E:\\ORACLE\\ORADATA\\ROME\\TEST DBF 通道 ORA_DISK_ : 正在读取备份段 D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROM E\\BACKUPSET\\ _ _ \\O _MF_NNNDF_TAG T _ VFPWCXS_ BKP 通道 ORA_DISK_ : 已恢复备份段 段句柄 = D:\\ORACLE\\PRODUCT\\ \\FLASH_RECOVERY_AREA\\ROME\\BACKUPSET\\ _ _ \\O _MF_NNNDF_TAG T _ VFPWCXS_ BKP 标记 = TAG T 通道 ORA_DISK_ : 恢复完成 用时: : : 完成 restore 于 月 RMAN> recover database; 启动 recover 于 月 使用通道 ORA_DISK_ 正在开始介质的恢复 存档日志线程 序列 已作为文件 D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A LOG 存在于磁盘上 存档日志文件名 =D:\\ORACLE\\PRODUCT\\ \\ORADATA\\ROME\\REDO A LOG 线程 = 序列 = 介质恢复完成 用时: : : 完成 recover 于 月 RMAN> sql alter database open resetlogs ; sql 语句: alter database open resetlogs

  如果使用了Flash Recovery Area RMAN自动执行CROSSCHECK检查控制文件中涉及到的备份文件和竞相拷贝(磁盘备份) 如果是使用磁带备份RMAN不会自动进行CROSSCHECK检查 需要我们恢复完控制文件后执行下列检查操作

  

  RMAN> CROSSCHECK BACKUP DEVICE TYPE SBT;

  如果我们的RMAN是带有恢复目录的话 则在恢复的时候不用进行SET DBID操作 直接执行如下命令即可

  

  RMAN> restore controlfile;

  我们可以在数据库处于任何状态的情况下把控制文件恢复到参数文件中设置的控制文件以外的位置

  

  RMAN〉restore controlfile to from ;

cha138/Article/program/Oracle/201311/17054

相关参考

知识大全 OracleRMAN物理备份技术之恢复案例四

OracleRMAN物理备份技术之恢复案例四  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  恢复

知识大全 OracleRMAN物理备份技术之管理维护

OracleRMAN物理备份技术之管理维护  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  恢复管

知识大全 OracleRMAN物理备份技术之RMAN配置

OracleRMAN物理备份技术之RMAN配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  R

知识大全 oraclerman备份和还原恢复数据库

  切换服务器归档模式如果已经是归档模式可跳过此步  %sqlplus/nolog(启动sqlplus)  SQL>conn/assysdba(以DBA身份连接数据库)  SQL>shut

知识大全 oraclerman命令

  从网络上找到rman命令集合  一list常用命令总结备忘  list命令列出控制文件RMAN恢复目录中备份信息是我们对所有可见的数据库备份文件的一个最直观的了解的方法  listincarnat

知识大全 Oracle备份与恢复案例二

Oracle备份与恢复案例二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  检查数据库的数据(完

知识大全 Oracle备份与恢复案例一

Oracle备份与恢复案例一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一理解什么是数据库恢

知识大全 OracleRMAN备份遇错ORA-27041

OracleRMAN备份遇错ORA-27041  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!今天给

知识大全 Oracle FAQ 之备份与恢复篇

OracleFAQ之备份与恢复篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  [Q]如何开启/

知识大全 数据泵备份之外的一些“副作用”

  数据泵是Oracle最近几个版本中才引进的一项技术其主要用来对数据库进行逻辑备份与恢复其主要包括expdp与imppd两个实用程序数据库传统的备份基本上都是物理备份包括联机备份与脱机备份等等但是数