ORA-16698
Tried to add a physical standby to the broker configuration, but it failed with ORA-16698.
DGMGRL> create configuration drconf as primary database is ORCLCDB connect identifier is ORCLCDB;
Configuration "drconf" created with primary database "ORCLCDB"
DGMGRL> add database ORCLSTB as connect identifier is ORCLSTB maintained as physical;
Error: ORA-16698: member has a LOG_ARCHIVE_DEST_n parameter with SERVICE attribute set
Failed.
ORA-16698 means that at least one LOG_ARCHIVE_DEST_n is set with SERVICE attribute, which cannot be overwritten by the broker.
Solution
To solve ORA-16698, we need to empty LOG_ARCHIVE_DEST_n then do it again. Mostly it's LOG_ARCHIVE_DEST_2 or LOG_ARCHIVE_DEST_3.
1. Remove Configuration
DGMGRL> remove configuration;
Removed configuration
DGMGRL> exit
2. Stop Broker
On both sides.
[oracle@primary01 oracle]$ sqlplus / as sysdba
...
SQL> alter system set dg_broker_start=FALSE scope=both sid='*';
System altered.
3. Clear LOG_ARCHIVE_DEST_2
On both sides.
SQL> alter system reset log_archive_dest_2 scope=both sid='*';
System altered.
4. Start Broker
On both sides.
SQL> alter system set dg_broker_start=TRUE scope=both sid='*';
System altered.
SQL> show parameter broker
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
connection_brokers string ((TYPE=DEDICATED)(BROKERS=1)),
((TYPE=EMON)(BROKERS=1))
dg_broker_config_file1 string +DATA/ORCLCDB/dr1.dat
dg_broker_config_file2 string +DATA/ORCLCDB/dr2.dat
dg_broker_start boolean TRUE
use_dedicated_broker boolean FALSE
5. Create Broker Configuration
[oracle@primary01 oracle]$ dgmgrl /
...
Connected to "ORCLCDB"
Connected as SYSDG.
DGMGRL> create configuration drconf as primary database is ORCLCDB connect identifier is ORCLCDB;
Configuration "drconf" created with primary database "ORCLCDB"
DGMGRL> add database ORCLSTB as connect identifier is ORCLSTB maintained as physical;
Database "ORCLSTB" added
DGMGRL> show configuration
Configuration - drconf
Protection Mode: MaxPerformance
Members:
ORCLCDB - Primary database
ORCLSTB - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
DISABLED
6. Enable Broker Configuration
DGMGRL> enable configuration
Enabled.
DGMGRL> show configuration
Configuration - drconf
Protection Mode: MaxPerformance
Members:
ORCLCDB - Primary database
ORCLSTB - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 5 seconds ago)
DGMGRL> show database ORCLCDB
Database - ORCLCDB
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
ORCLCDB1
ORCLCDB2
Database Status:
SUCCESS
DGMGRL> show database ORCLSTB
Database - ORCLSTB
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds (computed 0 seconds ago)
Apply Lag: 0 seconds (computed 0 seconds ago)
Average Apply Rate: 13.27 MByte/s
Real Time Query: OFF
Instance(s):
ORCLSTB1
ORCLSTB2 (apply instance)
Database Status:
SUCCESS
We solved it.
yes, you solved it and so did I with this note 🙂
Good for you!
This blog cleared by doubts about Oracle DG.
Thanks for your feedback.
It works! Thanks
My pleasure!