设置EXCLUDE后STANDBY数据库只读表空间的恢复

STANDBY数据库利用RMAN恢复主库上EXCLUDE的只读表空间,碰到了问题。

 

 

数据库恢复完成,但是恢复被主库EXCLUDE的只读表空间时,发现无法进行恢复:

RMAN> restore tablespace clubstat2_bak;

Starting restore at 14-FEB-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1094 devtype=DISK

file 22 is excluded from whole database backup
file 25 is excluded from whole database backup
file 28 is excluded from whole database backup
file 30 is excluded from whole database backup
restore not done; all files readonly, offline, or already restored
Finished restore at 14-FEB-11

对于主库而言很简单,只需要利用rmanconfigure exclude clear命令就可以解决这个问题,但是对于STANDBY数据库而言,这个方法不可行:

RMAN> show exclude;

RMAN configuration parameters are:
CONFIGURE EXCLUDE FOR TABLESPACE 'CLUBSTAT2_BAK';

RMAN> configure exclude for tablespace 'CLUBSTAT2_BAK' clear;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of configure command at 02/14/2011 00:07:48
RMAN-05021: this configuration cannot be changed for a BACKUP or STANDBY control file

错误信息很明确,当前控制文件是STANDBY控制文件,因此无法运行CONFIGURE EXCLUDE命令。

有一个简单的解决方法,就是在主库运行CONFIGURE EXCLUDE FOR TABLESPACE ‘CLUBSTAT2_BAK’ CLEAR命令,然后创建STANDBY CONTROLFILE,利用新创建的STANDBY控制文件恢复这个只读表空间。

但是由于当前目标数据库使用的是ASM,在恢复其他数据文件的时候,新建的数据文件名称和主库的名称并不相同,这些新的名称已经写到控制文件中了,如果使用新的控制文件,还需要手工RENAME所有的数据文件。当然也可以利用新的控制文件恢复只读表空间后,在换回原始的控制文件,不过这种方法就显得相对毕竟麻烦,也容易出错。

最后选择了利用RMAN在主库COPY DATAFILE的方法,生成数据文件的拷贝,将数据文件拷贝ftp到备库中利用catalog datafilecopy命令将数据文件拷贝添加到控制文件中,然后利用copy datafilecopy命令将只读表空间的数据文件拷贝到asm中指定的位置,从而变相的完成了只读表空间的恢复。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-687131/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-687131/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值