Using Oracle Data Guard with Oracle Data Guard Broker? Disable your LOG_ARCHIVE_n parameters and reconfigure your Oracle Data Guard Broker settings

When configuring Oracle Data Guard Broker to be used in your Oracle Data Guard configuration, you must disable the parameter log_archive_dest_n to Null at Primary and Standby before starting your setup. Otherwise, you are going to receive the following error on your Data Guard configuration: “Error: ORA-16698: LOG_ARCHIVE_DEST_n parameter set for object to be added”. It’s effortless to modify this parameter, and an example on an Oracle RAC database it is as it is below on the Primary and Standby databases:

#Primary:

SQL> show parameters log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=TECHDB VALID_FOR=(O
                                                 NLINE_LOGFILES,PRIMARY_ROLE) D
                                                 B_UNIQUE_NAME=TECHDB
log_archive_dest_20                  string

#Standby:

SQL>  show parameters log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      SERVICE=TECHDBP VALID_FOR=
                                                 (ONLINE_LOGFILES,PRIMARY_ROLE)
                                                  DB_UNIQUE_NAME=TECHDBP

System altered.

The idea is the Broker control LOG_ARCHIVE_* parameters and avoids any misunderstanding from the Broker within your configuration. Now that the LOG_ARCHIVE_* is empty to Redo log shipping, it is possible to proceed with the setup of the Data Guard Broker. However, it would be best not to be surprised that the LOG_ARCHIVE_* is not the only parameter that Data Guard Broker controls but any others as the log_archive_config, FAL_Server, ARCHIVE_LAG_TARGET, etc.

trace]$ tail -f alert_techdb1.log
2021-09-04T17:32:09.739575+02:00
ALTER SYSTEM SET log_archive_config='dg_config=(TECHDB)' SCOPE=BOTH;
Data Guard Broker executes SQL [alter system set log_archive_config='dg_config=(TECHDB,TECHDBP)']
2021-09-04T17:32:09.769344+02:00
ALTER SYSTEM SET log_archive_config='dg_config=(TECHDB,TECHDBP)' SCOPE=BOTH;
Starting background process NSV0
2021-09-04T17:32:09.798197+02:00
NSV0 started with pid=51, OS id=26769

So if you have the intention of using Data Guard Broker configuration, be aware that some parameters must not be configured manually to avoid any misinterpretations from the utility.

Related posts

Leave a Comment