Data Guard搭建完畢之后,執行開啟歸檔路徑2,結果發現不同步,
SQL> alter system set log_archive_dest_state_2=enable;
查看錯誤日志,發現有PING[ARC2]: Heartbeat failed to connect to standby 'gqtzdb_dg'. Error is 16047.的報錯:
[oracle@KG-ORA-01 trace]$ tail -100f alert_gqtzdb.log
Mon Jul 03 18:19:10 2017 Using STANDBY_ARCHIVE_DEST parameter default value as /oradata/gqtzdb/archivelog ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; Mon Jul 03 18:19:10 2017 PING[ARC2]: Heartbeat failed to connect to standby 'gqtzdb_dg'. Error is 16047.
接着查看v$archive_dest視圖,查看是否能找到原因,結果發現如下報錯:
SQL> select dest_id,error from v$archive_dest;
DEST_ID ERROR
---------- -----------------------------------------------------------------
1
2 ORA-16047: DGID mismatch between destination setting and target database
很明顯,DGID不一樣,去備庫查看參數db_unique_name參數:
SQL> show parameter db_unique_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string gqtzdb
發現db_unique_name參數沒有修改,仍然是主庫的值,速度改過來,並重啟備庫:
SQL> alter system set db_unique_name='gqtzdb_dg' scope=both; alter system set db_unique_name='gqtzdb_dg' scope=both * ERROR at line 1: ORA-02095: specified initialization parameter cannot be modified SQL> alter system set db_unique_name='gqtzdb_dg' scope=spfile; System altered.
然后再在主庫開啟歸檔路徑2,在備庫運行命令,查看同步狀態:
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered. SQL> select process,client_process,sequence#,status from v$managed_standby; PROCESS CLIENT_P SEQUENCE# STATUS --------- -------- ---------- ------------ ARCH ARCH 0 CONNECTED ARCH ARCH 0 CONNECTED ARCH ARCH 0 CONNECTED ARCH ARCH 0 CONNECTED RFS UNKNOWN 0 IDLE RFS LGWR 24 IDLE RFS UNKNOWN 0 IDLE RFS UNKNOWN 0 IDLE MRP0 N/A 11 APPLYING_LOG 9 rows selected.