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

Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
  • User AvatarKiran Dalvi
  • 09 Jul, 2019
  • 0 Comments
  • 1 Min Read

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

In our previous blog ,We have seen how to resolve the dataguard ORA- error related to ORA-19573: cannot obtain exclusive enqueue for datafile 1 RM.
In this blog, I will explain you about the ORA-16047: DGID mismatch between destination setting and target database

Let us see how to resolve this issue.

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

Explanation:

While working with dataguard environment we have observed the above ORA-16047 oracle code. Archive logs were not shipping to standby database and both the primary and standby database were not in sync.

After checking the alert log file and error message we found the below information.

select dest_name,status,error from v$archive_dest where status=’ERROR’;
————————————————————————————————————–
DEST_NAME STATUS ERROR
———————————– ————– —————————————————–
LOG_ARCHIVE_DEST_2 ERROR ORA-16047: DGID mismatch between destination setting and target database

Solution:

ORA-16047 error occurred due to the log_archive_config parameter has not set on standby side.

StandBy Database:

SQL> show parameter LOG_ARCHIVE_CONFIG;
NAME TYPE VALUE
—————————————————————————————
log_archive_config string

In above query you can see that we have not setup the log_archive_config parameter on standby side database.Now we are going to set up the parameter.

SQL> alter system set LOG_ARCHIVE_CONFIG=’DG_CONFIG=(cdb1,standdb)’;

Primary Database:

SQL> show parameter LOG_ARCHIVE_CONFIG;
NAME TYPE VALUE
———————————————————————————————————-
log_archive_config string DG_CONFIG=(cdb1,standdb)

In above case cdb1 is the primary database and standdb is the standby database.

Apart from this also check the db_unique_name parameter on both the side.db_unique_name should be different in dataguard environment for primary and standby database.

Learn more about oracle database configuration from oracle official site.