Introduction
This post demonstrates how to build an Oracle 18c physical standby database managed by data guard. The method should also apply to 12c and 19c as well.
Subscribe to get access
Read more of this content when you subscribe today.
This post applies to 12c and 19c as well, it introduced two popular ways for creating a standby database: RMAN DUPLICATE and from primary database backup
This post demonstrates how to build an Oracle 18c physical standby database managed by data guard. The method should also apply to 12c and 19c as well.
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';