ORA-16047: DGID mismatch between destination setting and target database

搭完DG后发现日志输不过来,查看日志:

alert日志:
Thread 1 advanced to log sequence 3769 (LGWR switch)
  Current log# 4 seq# 3769 mem# 0: /oradata/tpakvdata/redo04.log
Tue Jul 14 11:47:00 2015
ARC3: Archivelog destination LOG_ARCHIVE_DEST_2 disabled: Data Guard configuration identifier mismatch

然后在主库上查询v$ARCHIVE_DEST视图:

SQL> select dest_name, status, error from v$archive_dest WHERE DEST_ID = 2;

DEST_NAME
--------------------------------------------------------------------------------
STATUS    ERROR
--------- -----------------------------------------------------------------
LOG_ARCHIVE_DEST_2
DISABLED 
 ORA-16047: DGID mismatch between destination setting and target
          database


在网上查询后,需要重点检查如下参数:
log_archive_config
fal_client
fal_server
log_archive_dest_2 
log_archive_dest_state_2 

经过检查,如上的参数设置在内容上是没有问题的,有可能就是格式的问题了(比如大小写等),于是,我重置了主库的log_archive_dest_2 参数:
alter system set LOG_ARCHIVE_DEST_2='SERVICE=tpakvdg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tpakvdg';


然后再查询v$ARCHIVE_DEST视图,发现状态已变成DEFERRED  

SQL> select DEST_ID,DEST_NAME,STATUS,BINDING,ERROR from v$ARCHIVE_DEST where status<>'INACTIVE';

   DEST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS    BINDING
--------- ---------
ERROR
-----------------------------------------------------------------
         1
LOG_ARCHIVE_DEST_1
VALID     OPTIONAL



   DEST_ID
----------
DEST_NAME
--------------------------------------------------------------------------------
STATUS    BINDING
--------- ---------
ERROR
-----------------------------------------------------------------
         2
LOG_ARCHIVE_DEST_2
DEFERRED  OPTIONAL


再查看参数log_archive_dest_state_2 ,还是显示enable:
SQL> show parameter log_archive_dest_state_2 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2             string      ENABLE

于是,试着重置log_archive_dest_state_2 参数:
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=defer scope=both;

System altered.

SQL> select dest_name, status, error from v$archive_dest WHERE DEST_ID = 2;

DEST_NAME
--------------------------------------------------------------------------------
STATUS    ERROR
--------- -----------------------------------------------------------------
LOG_ARCHIVE_DEST_2
DEFERRED


SQL> 
SQL> 
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=enable scope=both;

System altered.

SQL> 
SQL> select dest_name, status, error from v$archive_dest WHERE DEST_ID = 2;

DEST_NAME
--------------------------------------------------------------------------------
STATUS    ERROR
--------- -----------------------------------------------------------------
LOG_ARCHIVE_DEST_2
VALID

可以看到,状态终于变成valid了,再查看alert日志:
Tue Jul 14 15:05:56 2015
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2
******************************************************************
Tue Jul 14 15:05:56 2015
Archived Log entry 4032 added for thread 1 sequence 3772 ID 0x33cbbb6a dest 1:
LNS: Standby redo logfile selected for thread 1 sequence 3773 for destination LOG_ARCHIVE_DEST_2
Tue Jul 14 15:05:56 2015
ARC0: Standby redo logfile selected for thread 1 sequence 3772 for destination LOG_ARCHIVE_DEST_2

已经可以成功传输日志文件。看来视图 v$archive_dest中的status才是传输路径的真正状态,如果光看 LOG_ARCHIVE_DEST_STATE_2的设置很有可能会被误导。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25465866/viewspace-1732925/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25465866/viewspace-1732925/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值