Failover/Reinstate within Dataguard configuration fails with ORA-16653 /ORA-16795 (Doc ID 1161094.1)

 

Oracle Database - Enterprise Edition - Version 10.1.0.2 to 12.1.0.2 [Release 10.1 to 12.1]
 

PURPOSE

Physical standby database is managed by the broker.

After a successful failover with Dataguard Broker (dgmgrl) to a physical standby database
"dgmgrl > show configuration" returns ORA-16661 and other messages:
 



DGMGRL> show configuration;

Configuration - physDG112

Protection Mode: MaxPerformance
Databases:
db112 - Primary database
stdb112 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> failover to stdb112;
Performing failover NOW, please wait...
Failover succeeded, new primary is "stdb112"
DGMGRL> show configuration;

Configuration - physDG112

Protection Mode: MaxPerformance
Databases:
stdb112 - Primary database
db112 - Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> reinstate database db112
Reinstating database "db112", please wait...
Error: ORA-16653: failed to reinstate database

Failed.
Reinstatement of database "db112" failed

-> ORA- 16653 at first attempt to re-instate database


DGMGRL> reinstate database db112
Reinstating database "db112", please wait...
Error: ORA-16795: the standby database needs to be re-created

Failed.
Reinstatement of database "db112" failed

-> ORA-16795 at 2nd attempt to re-instate database

TROUBLESHOOTING STEPS


DGMGRL> reinstate database xxx;

returns different errors: ORA-16653/ORA-16795.

The cause of this  errors are recorded within the drc*.log-file:

2010-07-27 11:13:08.515 INSV: Received message for inter-instance publication
2010-07-27 11:13:08.531 req ID 1.1.563625824, opcode CTL_REINST_ENABLE, phase RESYNCH, flags 5
2010-07-27 11:13:08.531 02001000 563625824 DMON: dispersing message to standbys for REINST_ENABLE phase RESYNCH
2010-07-27 11:13:08.531 INSV: Reply received for message with
2010-07-27 11:13:08.531 req ID 1.1.563625824, opcode CTL_REINST_ENABLE, phase RESYNCH
2010-07-27 11:13:08.531 02001000 563625824 DMON: Instance ID 1 returned ORA-16827
2010-07-27 11:13:08.531 02001000 563625824 for phase RESYNCH of op CTL_REINST_ENABLE.
2010-07-27 11:13:08.531 02001000 563625824 Operation CTL_REINST_ENABLE canceled during phase 3, error = ORA-16827


Reinstate fails since Flashback Database is disabled (ORA-16827).

In this case you have to re-create the standby database with a new backup of the primary database.
The new standby database is still running as 'primary database', there is no chance to convert
the database back to a standby without flashback enabled.

Please note :- When standby is recreated using rman duplicate  Broker might  still shows the db needs to be reinstated .
                        In such case you need to removed the Standby from the Broker config and re-added it

To avoid such errors in any further failover-issues, please enable flashback on primary and
all involved standby databases.

Please see also fallowing document for more details:

Oracle Data Guard Broker 11g Release 2 (11.2)
5.4.3.1 How to Reinstate a Database

上一篇:【Matlab优化覆盖】粒子群算法求解传感器覆盖优化问题【含GUI源码 709期】


下一篇:PostgreSQL12同步流复制搭建-同步不生效的问题