Thursday, February 21, 2019

ORA-16698: 12c Dataguard Broker Setup Error

Recently I have configured dataguard on 12c database. While configuring dataguard broker I have encountered an "Error: ORA-16698: LOG_ARCHIVE_DEST_n parameter set for object to be added"
[oracle@primdb dbs]$ dgmgrl
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production

Copyright (c) 2000, 2013, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/dataguard
Connected as SYSDG.
DGMGRL> CREATE CONFIGURATION 'DR_Config' AS PRIMARY DATABASE IS 'primdb' CONNECT IDENTIFIER IS primdb;
Error: ORA-16698: LOG_ARCHIVE_DEST_n parameter set for object to be added

Failed.
DGMGRL>
SQL>

Solution:

Generally you will not receive this error on earlier database versions (Pre 12c). As per Oracle database 12c documentation, "Any LOG_ARCHIVE_DEST_n parameters that have the SERVICE attribute set, and if the NOREGISTER attribute is Not set, then you must remove/clear the 'LOG_ARCHIVE_DEST_n' before creating the broker configuration". Clear archive destination for both primary and standby side and then configure the Dataguard broker.

Once you complete the DataGuard broker setup then revert back the LOG_ARCHIVE_DEST parameter to old values in both primary and standby side.

On Primary Side:

SQL> show parameter LOG_ARCHIVE_DEST_2 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_2 string SERVICE=standb ASYNC VALID_FO R=(ONLINE_LOGFILES,PRIMARY_ROL E) DB_UNIQUE_NAME=standb SQL> SQL> alter system set LOG_ARCHIVE_DEST_2='' scope=both; System altered. SQL> DGMGRL> CREATE CONFIGURATION 'DR_Config' AS PRIMARY DATABASE IS 'primdb' CONNECT IDENTIFIER IS primdb; Configuration "DR_Config" created with primary database "primdb" DGMGRL> DGMGRL> show configuration; Configuration - DR_Config Protection Mode: MaxPerformance Members: primdb - Primary database Fast-Start Failover: DISABLED Configuration Status: DISABLED DGMGRL>

On Standby Side:

SQL> show parameter LOG_ARCHIVE_DEST_2 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_2 string SERVICE=PRIMARY ASYNC VALID_F OR=(ONLINE_LOGFILES,PRIMARY_RO LE) DB_UNIQUE_NAME=primdb SQL> alter system set LOG_ARCHIVE_DEST_2='' scope=both; System altered. SQL> DGMGRL> ADD DATABASE 'standb' AS CONNECT IDENTIFIER IS standb MAINTAINED AS PHYSICAL; Database "standb" added DGMGRL> DGMGRL> enable configuration; Enabled. DGMGRL> show configuration; Configuration - DR_Config Protection Mode: MaxPerformance Members: primdb - Primary database standb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 10 seconds ago) DGMGRL>
That's it.. Hope this article will help you.

Thanks,
Chowdari


Some Most Popular Articles