Remove Data Guard Broker Configuration Safely
Before removing the configuration here is the broker configuration and the archive log destination in primary database.
Primary database:
DGMGRL> show configuration
Configuration - db.ipx.com
Protection Mode: MaxPerformance
Databases:
db1_dg - Primary database
db2_dg - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
SQL> select dest_id,destination,status
from v$archive_dest
where target='STANDBY'
DEST_ID
2
DESTINATION
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=stagedb1.xyz.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db2_dg.ipx.com)(SERVER=DEDICATED)))
STATUS
VALID
1. Remove broker configuration from DGMGRL command line using sys user from primary database
Primary Database:
[oracle@stagedb1 dbs]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.2.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/password
Connected.
DGMGRL> remove configuration;
Removed configuration
DGMGRL> show configuration;
Error:
ORA-16532: Data Guard broker configuration does not exist
Configuration details cannot be determined by DGMGRL
2. In primary database set the db_broker_start parameter false.
Primary Database:
SQL> show parameter dg_broker
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
dg_broker_config_file1 string /holding/db1/standbylog/dr1ts m1_dg.dat
dg_broker_config_file2 string /holding/db1/standbylog/dr2db1_dg.dat
dg_broker_start boolean TRUE
SQL> alter system set dg_broker_start=false scope=both;
System altered.
SQL> show parameter dg_broker
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
dg_broker_config_file1 string /holding/db1/standbylog/dr1ts m1_dg.dat
dg_broker_config_file2 string /holding/db1/standbylog/dr2db1_dg.dat
dg_broker_start boolean FALSE
3. Check the archive log destination in primary database. After removing the configuration it will clear automatically.
Primary Database:
SQL> select dest_id,destination,status
from v$archive_dest
where target='STANDBY'
DEST_ID
2
DESTINATION
STATUS
INACTIVE
If it is not clear then make the destination defer
SQL> alter system set log_archive_dest_state_2=defer scope=both;
System altered.
4. In standby database set the db_broker_start parameter false.
Secondary Database:
SQL> alter system set dg_broker_start=false scope=both;
System altered.
5. In both primary and standby database remove broker configuration file.
Primary Database:
SQL> select name , value from v$parameter where name like '%dg_broker%';
[oracle@stagedb1]$ mv /holding/db1/standbylog/dr1db1_dg.dat /holding/db1/standbylog/dr1db1_dg_back.dat
[oracle@stagedb1]$
[oracle@stagedb1]$ mv /holding/db1/standbylog/dr2db1_dg.dat /holding/db1/standbylog/dr2db1_dg_back.dat
Secondary Database:
SQL> select name , value from v$parameter where name like '%dg_broker%';
[oracle@stagedb1]$ mv /holding/db2/standbylog/dr1db2_dg.dat /holding/db2/standbylog/dr1db2_dg_back_20140430.dat
[oracle@stagedb1]$
[oracle@stagedb1]$ mv /holding/db2/standbylog/dr2db2_dg.dat /holding/db2/standbylog/dr2db2_dg_back.dat
Oracle Support Doc ID: 261336.1