以前做的测试dataguard前两天测试failover后今天重新配置并创建新standby,配置完后发现主库的归档不能自动传送到standby去,下面简单贴出检查及解决过程:
//首先想到应该是检查主库设置的远程归档路径有什么问题,结果正常的
SQL> show parameter LOG_ARCHIVE_DEST_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=dp LGWR ASYNC VALID_FO
R=(ONLINE_LOGFILES,PRIMARY_ROL
E) DB_UNIQUE_NAME=dp
//主库查询v$archive_dest发现ORA-16057错误,查了下资料说这个错跟db_unique_name和log_archive_config设置有问题
SQL> select
2 status,target,archiver,error,process from v$archive_dest;
STATUS TARGET ARCHIVER ERROR PROCESS
--------- ------- ---------- ----------------------------------------------------------------- -----
VALID PRIMARY ARCH ARCH
ERROR STANDBY LGWR ORA-16057: Data Guard 配置中没有来自服务器的 DGID LGWR
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
。。。。。。。
//发现主库这边好像没什么问题
SQL> show parameter db_unique_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string FZ
SQL> show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(fz,dp)
//在从库查询v$archive_dest发现ORA-16053,这个是跟主库查出来的错误对应的,应该是同一个地方引起的
SQL> select
2 status,target,archiver,error,process from v$archive_dest;
STATUS TARGET ARCHIVER ERROR PROCESS
--------- ------- ---------- ------------------------------------------------------------ ---------
VALID LOCAL ARCH ARCH
BAD PARAM LOCAL ARCH ORA-16053: Data Guard 配置中没有 DB_UNIQUE_NAME ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
。。。。。
SQL> show parameter db_unique_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string dp
SQL> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=fz LGWR ASYNC VALID_FO
R=(ONLINE_LOGFILES,PRIMARY_ROL
E) DB_UNIQUE_NAME=fz
//终于找到病原了,从库的log_archive_config配置问题,DG_CONFIG=(primary,dp)这个应该是DG_CONFIG=(fz,dp)
SQL> show parameter log_archive_config
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(primary,dp)
//修改参数,重启standby问题解决
SQL> alter system set log_archive_config='DG_CONFIG=(fz,dp)' scope=spfile;
系统已更改。
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 188743680 bytes
Fixed Size 1247420 bytes
Variable Size 79693636 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
SQL> select
2 status,target,archiver,error,process from v$archive_dest;
STATUS TARGET ARCHIVER ERROR PROCESS
--------- ------- ---------- ------------------------------------------------------------ ----------
VALID LOCAL ARCH ARCH
VALID REMOTE LGWR LGWR
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
INACTIVE LOCAL ARCH ARCH
VALID LOCAL ARCH RFS
已选择11行。
//主库查询v$archive_dest也OK了。
SQL> select
2 status,target,archiver,error,process from v$archive_dest;
STATUS TARGET ARCHIVER ERROR PROCESS
--------- ------- ---------- ----------------------------------------------------------------- -----
VALID PRIMARY ARCH ARCH
VALID STANDBY LGWR LGWR
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
INACTIVE PRIMARY ARCH ARCH
已选择10行。
问题基本解决。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23490154/viewspace-1062155/
,如需转载,请注明出处,否则将追究法律责任。