Playing with dataguard failover scenarios I bumped into this error:
Configuration - emrep_dg_config
Protection Mode: MaxPerformance
Members:
db_pri - Primary database
Error: ORA-16623: member detected role change
db_stby - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
ERROR (status updated 0 seconds ago)
DGMGRL> disable configuration;
Error: ORA-16623: member detected role change
Error: ORA-16625: cannot reach member "db_pri"
Failed.
DGMGRL>
That’s due to inconsistent information within the broker files from both servers.
To fix this, we can do this:
# on both servers:
alter system set dg_broker_start=false
-- delete the dgbroker config files (default location is $ORACLE_HOME/dbs/
# then on both sites:
alter system set dg_broker_start=true
### check again the configuration:
[oracle@server admin]$ dgmgrl
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Sun Apr 12 07:17:37 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected to "db_pri"
Connected as SYSDBA.
DGMGRL> show configuration;
ORA-16532: Oracle Data Guard broker configuration does not exist
Configuration details cannot be determined by DGMGRL
DGMGRL>