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 220.127.116.11.0 - Production on Sun Apr 12 07:17:37 2020 Version 18.104.22.168.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>