Subscribe to get access
Read more of this content when you subscribe today.
Read more of this content when you subscribe today.
In Data Guard, for some reason, standby database rule are incorrectly shown as primary database, while primary database shows as standby rule.
DGMGRL> show configuration;
Configuration - TESTDB
Protection Mode: MaxPerformance
Databases:
TESTDBSTY - Primary database
Error: ORA-16810: multiple errors or warnings detected
for the database
TESTDB - Physical standby database
Error: ORA-16810: multiple errors or warnings detected
for the database
Fast-Start Failover: DISABLED
Configuration Status:
ERROR
DGMGRL> show database "TESTDBSTY";
Database - TESTDBSTY
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s): TESTDBSTY
Error: ORA-16782: instance not open for read and write access
Database Error(s):
ORA-16816: incorrect database role
Database Status:
ERROR
How to fix it ?
Read more of this content when you subscribe today.
For some reason, DG ( Data Guard ) switchover command is incomplete with following warnings:
Database Error(s):
ORA-16849: a previous switchover from this database was interrupted
and aborted
ORA-16816: incorrect database role
After detailed checks, it is confirmed that database role has been changed successfully.
-- on old primary database -- SQL> select open_mode, database_role from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- MOUNTED PHYSICAL STANDBY -- on old standby database -- SQL> select open_mode, database_role from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- MOUNTED PRIMARY
So the issues is the final role change has not been recognized by the DG broker, so we have to rebuild the Data Guard Broker Configuration when the Databases have been restarted:
DGMGRL> remove configuration;
DGMGRL> create configuration 'PRIMDB' AS PRIMARY DATABASE IS
'PRIMDB' CONNECT IDENTIFIER IS 'PRIMDB';
DGMGRL> add database 'STDBYDB' AS CONNECT IDENTIFIER IS 'STDBYDB'
maintained as physical;
DGMGRL> enable configuration;
DGMGRL> show configuration;
DGMGRL> show database verbose 'PRIMDB';
DGMGRL> show database verbose 'STDBYDB';