ERROR
SQL> SELECT status, gap_status, error FROM v$archive_dest_status WHERE dest_id=2;STATUS GAP_STATUSERRORERROR RESOLVABLE GAPORA-16047: DGID mismatch between destination setting and targetdatabase
Cause: Primary and Standby DB are NOT matching (DB_UNIQUE_NAME / DBID mismatch)
Solution:
Fix (Step-by-Step)
🔹 Step 1: Check both DB_UNIQUE_NAME
Run on PRIMARY:
show parameter db_unique_name;
Run on STANDBY:
show parameter db_unique_name;
Example:
- Primary →
primary - Standby →
standby
Step 2: Fix LOG_ARCHIVE_DEST on PRIMARY
Check:
show parameter log_archive_dest_2;
If mismatch fix it
ALTER SYSTEM SET log_archive_dest_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'SCOPE=BOTH;
Step 3: Check standby side
On standby:
show parameter log_archive_dest_1;
LOCATION=/opt/oracle/oradata VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby
Step 4: Restart redo transport
On PRIMARY:
ALTER SYSTEM SET log_archive_dest_state_2=DEFER;ALTER SYSTEM SET log_archive_dest_state_2=ENABLE;
Step 5: Check again
SELECT status, gap_status, error FROM v$archive_dest_status WHERE dest_id=2;