Ø 该过程是通过闪回查询的方式来获取数据字典的一致性,因此oracle 初始化参数
UNDO_RETENTION 值需要设置的足够大。
切换物理Standby 为逻辑Standby :
SQL> alter database recover managed standby database cancel ;
(如果是mananged 恢复模式, 需要先cancel)
SQL> alter database recover to logical standby mxweb01;
可能会遇到两种错误:
1. sys 密码不一致导致一直hand 住; ---建立与主库一致的密码文件
2. 备库监听没有包含standby 的instance 信息。 ---监听文件中添加instance 信息
重启逻辑备库
第一次启动
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database open resetlogs; (这一步应该可以看到初始归档生成)
然后
SQL> shutdown immediate;
SQL> startup;
Logical Stadnby 上启动sql apply
alter database start logical standby apply;
如果要启动实时应用特性,需要先在备库添加standby redo logfile,这里我们不使用 。
alter database add standby logfile '/data/mxdell/redo01s.log' size 50m;
alter database add standby logfile '/data/mxdell/redo02s.log' size 50m;
alter database add standby logfile '/data/mxdell/redo03s.log' size 50m;
alter database add standby logfile '/data/mxdell/redo04s.log' size 50m;
alter database add standby logfile '/data/mxdell/redo05s.log' size 50m;
启动real time sql apply
alter database stop logical standby apply;
alter database start logical standby apply immediate;
自动删除已经应用过的日志
逻辑备库一方面需要接收主库传过来的日志,一方面自己也会产生日志,不及时删除,
可能很快归档空间就要爆掉(如无特殊要求可开启)
假设我们还有一个异地备份物理Standby, 需要定期拷贝Logical Standby 上的归档
应用到逻辑Standby(不在Production DB 上拷贝),那么在Logical Standby 上需要禁止
删除传输过来的日志, 可以这样设置:
alter database stop logical standby apply;
execute dbms_logstdby.apply_set('LOG_AUTO_DELETE','false');
alter database start logical standby apply;
Logical standby 开启关闭的步骤:
SQL> startup
SQL> alter database start logical standby apply;
SQL> alter database stop logical standby apply;
SQL> shutdown immediate
Logical Standby 管理 :
www.ningoo.nethtml2008oracle10gr2_logical_standby_managing_and_tuning.html
常见Logical Standby 故障的处理
http://blog.oracle.com.cn/html/63/t-51963.html
注意事项:
1. 赋予sysdba 给任何用户会导致logical standby 应用停止,但是归档可以传输过去(如
果使用的是arch 传输的话) 。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12137615/viewspace-617349/ ,如需转载,请注明出处,否则将追究法律责任。