环境:
OS:Red Hat Linux As5
DB:10.2.0.1
刚部署了一个物理Dataguard环境,主库的数据文件(控制文件,数据文件,日志文件)目录是'/u01/app/oracle/oradata/oracl/',备库的数据文件目录是'/u02/app/oracle/oradata/oraclbak/',备库中参数 log_file_name_convert='/u01/app/oracle/oradata/oracl/',
'/u02/app/oracle/oradata/oraclbak/',部署完成后测试没有任何问题.
我尝试将log_file_name_convert路径调换看会出现什么问题,即调换后
log_file_name_convert='/u02/app/oracle/oradata/oraclbak/',
'/u01/app/oracle/oradata/oracl/'
重启备库后,发现主库自动停掉了,启动的时候提示如下错误;
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00314: log 1 of thread 1, expected sequence# 77 doesn't match 0
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/oracl/redo01.log'
还好,做standby的时候对主库进行了全备份,最后做了恢复处理.
说明:
参数log_file_name_convert以及db_file_name_convert的设置如下:
log_file_name_convert='主库路径','备库路径','主库路径','备库路径',...
db_file_name_convert='主库路径','备库路径','主库路径','备库路径',...
这里的主库路径和备库路径是相对而言的,具体说明如下:
1.当前主库上的这两个参数中的'主库路径'就是备库的路径,'备库路径'就是当前主库的路径,若不做切换的情况,当前主库完全可以不必设置这两个参数.
2.当前备库的这两个参数中的'主库路径'就是主库的路径,'备库路径'就是当前备库的路径;
3.主备切换后,原来主库中该两个参数中的 '主库路径'就是之前备库的路径,'备库路径'就是之前主库的路径.
所以在做dataguard前需要对dataguard涉及的每个参数都需要了解透彻.