Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1207287
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-28 10:13:13

你大概从无数个人无数个地方听说过,当部署了Dataguard后,可以考虑将数据库的备份操作放在Standby端执行,呃,官方文档中也有这个说法(主要是考虑这样能够分担主库压力),但实际操作时,还是有很多地方需要注意,Standby端创建备份,并不像Primary那样简单,特别是,当你使用的数据库版本是9i。三思近来就遇到了这样的需求,为一组ORACLE9I数据库部署DATAGUARD,并且由于PRIMARY磁盘空间的原因,考虑将备份放到STANDBY端进行,不过实际操作中,还是遇到了一些问题。

官方文档中提供的注意事项如下:
● 强烈建议使用catalog,官方说法是must be。主要是由于备份在Standby端执行的话,如果仍然使用控制文件记录备份信息,那这个信息只能是记在Standby端的控制文件,Primary并不知道,这样恢复时会遇到多种问题,比如说Primary找不着备份集,10g之后还好一些,可以通过rman的catalog命令手动注册备份集到控制文件,但9i并没有提供这一语法,倒是范了难,因此官方文档的描述是there is no way for primary database to konw about the standby backups unless these backup records are stored in the recovery catalog. 不过三思对此说法并不完全认同,俺个人认为,即使是记录到控制中了,实在不行,通过dbms_backup_restore包应该也是可以恢复的,不过这种方式尚未及测试,俺认为应该是可行的。
● 不能备份Standby控制文件,不知道它咋想的,也许是它认为Standby控制文件是个备份的控制文件;
● 不能通过镜像复制或非RMAN备的Standby控制文件来恢复Primary,Standby唯一能够转换成Primary的方式就是alter database activer standby database. But,一旦如此操作了,数据库需要RESETLOGS,而9i下一旦RESETLOGS了,原有备份信息自然也就没用(有)了;
● 不能通过target连接Standby库后再使用DUPLICATE命令创建其它Standby库,DUPLICATE方式创建STANDBY库必须在PRIMARY端执行;
● 不要尝试将Standby库注册到recovery catalog. 因为Standby只是Primary的一个分支;
● 不能通过CONFIGURE命令修改SHOW中的默认设置,它会拼命的提示你:operation not allowed with a backup controlfile。

另外再补充一点,最好不要在Standby端控制文件中开启controlfile autobackup on,否则一旦涉及到数据库结构的修改或备份操作,ALERT中会报出一堆的:
Control autobackup failed with following error :
ORA-00236: snapshot operation disallowed: mounted controlfile is a backup

阅读(2823) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~