这个时候还是不奏效,在备库重建密码文件看来不是解决方法了,因为密码文件是加密的,尽管密码是相当的,但是加密之后的效果不同。
那么如果从主库拷贝密码问价到备库的话怎么样呢?
我们尝试拷贝密码文件到备库kokki,然后看看效果:
$ scp $ORACLE_HOME/dbs/orapwv1120 el5:$ORACLE_HOME/dbs/orapwv1120
orapwv1120 100% 1536 1.5KB/s 00:00
SQL> connect sys/prutser@kokki as sysdba
Connected.
这个时候我们可以在kokki使用sys接入实例了,那么dataguard这边确实ok了吗?
SQL> connect sys/prutser@peppi as sysdba
Connected.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
DGMGRL> show configuration;
Configuration - PeppiEnKokki
Protection Mode: MaxPerformance
Databases:
peppi - Primary database
Error: ORA-16778: redo transport error for one or more databases
kokki - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
ERROR
再一次证明dataguard还是不够满意,但是看起来一切已经和原来一样了,如果我们稍作等待然后再次开启归档日志的传输,就会连带redo的传输,当然这个过程可以通过禁用启用redo传输来完成。
DGMGRL> edit database kokki set property LogShipping=off;
Property "logshipping" updated
DGMGRL> edit database kokki set property LogShipping=on;
Property "logshipping" updated
DGMGRL> show configuration;
Configuration - PeppiEnKokki
Protection Mode: MaxPerformance
Databases:
peppi - Primary database
kokki - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
最终dataguard的状态终于正常了,因为主库的redo传输到备库已经正常了。
总结:
如果需要保证dataguard的可持续性,如果主库存在任何密码文件的变更,我们必须从主库拷贝密码文件到备库.最后是一句 Happy Data Guarding ;-)
基于同一主机配置 Oracle 11g Data Guard
探索Oracle之11g DataGuard
Oracle Data Guard (RAC+DG) 归档删除策略及脚本
Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法