Oracle使用RMAN恢复控制文件实例

一.准备工作 

1.         数据库原ORACLE_HOME/u01/app/oracle

2.         显示目前RMAN状态:注意设置controlfile autobackup on

RMAN> show all;
 using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;  
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle_recovers/rman/auto_recovers/%F';

3.         开始任意备份,此时由于controlfile autobackup on ,将自动备份数据控制文件

Starting Control File and SPFILE Autobackup at 06-AUG-13
piece handle=/oracle_recovers/rman/auto_recovers/c-1257749144-20130806-02 comment=NONE

记住自动备份控制文件(和spfile)的位置在=/oracle_recovers/rman/auto_recovers/c-1257749144-20130806-02

4.         关闭数据库---shutdown immediate

5.         移动控制文件(在此操作前请勿做类似添加数据文件,修改表空间存储等操作,以免造成控制文件和备份不统一)

         mv         /u01/app/oracle/oradata/orcl/control01.ctl      /oracle_recovers/

二. 恢复操作

1.      startup nomount ----  只能以nomount方式启动

2.         nocatalog启动RMAN ---若不做步骤2则启动不成功

3.         查看配置,这个时候由于控制文件丢失,所有配置文件都为default

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

4.         尝试恢复

RMAN> restore controlfile from autobackup;

Starting restore at 06-AUG-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=152 device type=DISK

recovery area destination: /oracle_recovers/oracle_flash_recover/ORCL/flashback
database name (or database unique name) used for search: ORCL
channel ORA_DISK_1: no AUTOBACKUPS found in the recovery area
AUTOBACKUP search with format "%F" not attempted because DBID was not set
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/06/2013 16:47:10
RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece

分析失败原因:由于之前自定义了控制文件备份地址:/oracle_recovers/rman/auto_recovers/而现在使用默认配置,此默认位置和db_recovery_file_dest有关

5.      使用之前自定义位置恢复----成功

restore controlfile from '/oracle_recovers/rman/auto_recovers/c-1257749144-20130805-01';

6       重新打开数据库建议使用resetlogs模式打开

alter  database open resetlogs

三.总结

1.         设置控制文件自动备份十分必要,能保证每次控制文件内容改动时都自动备份,保证控制文件最新。

2.         最好自己设置控制文件备份位置,默认使用db_recovery_file_dest.所以如果自定义备份位置,一定要记住,在恢复时,由于控制文件丢失,所有配置都恢复为默认,只能手动显式输入,而你当初的备份位置是不可查的,所以在备份后,一定要记录在操作文档中。

3.         恢复后应使用alter database open resetlogs打开。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值