【DataGuard】10GR2 DataGuard的几个redo log相关问题

1.备库启动报redo log不存在的问题:
错误信息:
Errors in file /home/oracle/admin/kgbdwmyj/bdump/kgbdwmyj_mrp0_11986.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/oradata/kgbdwmyj/redo02.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
解决方法:
设置log_file_name_convert参数,即使备库与主库目录位置完全一样也需设置,如:*.log_file_name_convert='/oradata/kgbdwmyj/','/oradata/kgbdwmyj/'
原因:
这个错误会在10g出现,9i是不会出现的。因为做switch over的时候需要清空联机日志,在10g中,oracle为了加快swich over的速度,Oracle10g在将备库置于manged standby状态的时候就提前将这个clear的动作做了,但具体实现做的不够好

2.备库报redo log必须改名的错误:
错误信息:
Errors in file /home/oracle/admin/kgbdwmyj/bdump/kgbdwmyj_mrp0_4846.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/oradata/kgbdwmyj/redo01.log'
解决方法:
设置log_file_name_convert参数,即使备库与主库目录位置完全一样也需设置,如:*.log_file_name_convert='/oradata/kgbdwmyj/','/oradata/kgbdwmyj/'

3.备库报找不到standby redo log的问题:
错误信息:
Errors in file /home/oracle/admin/kgbdwmyj/udump/kgbdwmyj_rfs_5119.trc:
ORA-00313: open failed for members of log group 6 of thread 1
ORA-00312: online log 6 thread 1: '/oradata/kgbdwmyj/standby_redo06.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
且无法通过alter database add standby logfile group 6 ('/oradata/kgbdwmyj/standby_redo06.log') size 1000M增加standby redolog
原因:
出现这个错误主要是因为在备份前主库创建了standby redo log,备库是根据主库的信息创建的,一开始它是包含了主库的standby redo log信息,如果主库设置的日志传送方式是LGWR,当主库发生日志切换时,备库的RFS会尝试使用standby redo log来存储主库传送过来的日志,因为此时备库实际上是不存在standby redo log的,所以备库会报错。当备库尝试打开字典信息的所有standby redo log失败以后,备库会自动把日志传送方式转为ARCN,并同时清除数据字典中的standby redo log信息。
解决方法:当备库尝试打开字典信息的所有standby redo log失败以后,备库会自动把日志传送方式转为ARCN,并同时清除数据字典中的standby redo log信息。这时你再去增加standby redo log即可
参考:
作者:george.ma blog:http://blog.chinaunix.net/u/12521/
参考metalinkNote:352879.1


上一篇:Silverlight数据绑定/IValueConverter学习笔记


下一篇:编程是一个没有前途的工作