dataguard在搭建完成后,备库的mrp进程也正常启动
但是没有日志从主库传输过来
1、查看主库日志有报错,如下:
ORA-16047 DGID mismatch between destination setting and target database
ARC3: Archivelog destination LOG_ARCHIVE_DEST_2 disabled: Data Guard configuration identifier mismatch
2、登录主库查看
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
3、跟后台日志报相同的错误,这个似乎是LOG_ARCHIVE_DEST_2 配置的问题
show parameter dest;
查看并没有配置错误
log_archive_dest_state_2的状态也是enable没有问题
4、重新设置LOG_ARCHIVE_DEST_2并做defer和enable操作;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=DBSTY ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DBSTY ';
—重新设置一下状态
alter system set LOG_ARCHIVE_DEST_STATE_2=defer scope=both;
alter system set LOG_ARCHIVE_DEST_STATE_2=enable scope=both;
5、主库查看还是相同的报错
SQL> select dest_name, status, error from varchive_dest WHERE DEST_ID = 2;
DEST_NAME---- STATUS ERROR---------
LOG_ARCHIVE_DEST_2 DISABLED ORA-16047: DGID mismatch between destination setting and target database
6、查看log_archive_config发现里面参数有小写的,怀疑这个导致的,重新配置;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB,DBSTY )' scope=both;
---重新设置一下状态
alter system set LOG_ARCHIVE_DEST_STATE_2=defer scope=both;
alter system set LOG_ARCHIVE_DEST_STATE_2=enable scope=both;
7、主库查看
SQL> select dest_name, status, error from varchive_dest WHERE DEST_ID = 2;
DEST_NAME
STATUS ERROR
LOG_ARCHIVE_DEST_2
VALID
无报错,并且日志已经开始传输到备库了。
从这个报错来看,可能涉及到的点是log_archive_config,fal_client,fal_server,log_archive_dest_2,log_archive_dest_state_2的大小写配置以及状态设置,如果有类似问题可以见一下这些。




