Using DGMGRL, you can change property values directly by using the command-line utility. It includes commands to create an observer process that monitors the whole configuration, including the primary and standby, to evaluate if a failover is necessary, and to initiate FSFO. You might encounter the error “ORA-16829: fast-start failover configuration is lagging” while checking the configuration details in DGMGRL.
Here is the ora error description for the same.
Error code: ORA-16829
Description: fast-start failover configuration is lagging.
Cause: The fast-start failover target standby database was not within the lag limit specified by the FastStartFailoverLagLimit configuration property. As a result, a fast-start failover could not happen in the event of a primary database failure.
Action: Ensure that the fast-start failover target standby database is running and applying redo data and that the primary database is successfully trasmitting redo data. If this condition persists consider raising the value of the FastStartFailoverLagLimit configuration property.
Description: fast-start failover configuration is lagging.
Cause: The fast-start failover target standby database was not within the lag limit specified by the FastStartFailoverLagLimit configuration property. As a result, a fast-start failover could not happen in the event of a primary database failure.
Action: Ensure that the fast-start failover target standby database is running and applying redo data and that the primary database is successfully trasmitting redo data. If this condition persists consider raising the value of the FastStartFailoverLagLimit configuration property.
The Problem
Automatic failover caused DR to become primary and primary to become DR, but when checked the dgmgrl configuration there were some errors.
$ dgmgrl DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production Copyright (c) 2000, 2009, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect sys Password: Connected. DGMGRL> show configuration Configuration - db1tes_dg Protection Mode: MaxPerformance Databases: db1tesd - Primary database Warning: ORA-16829: fast-start failover configuration is lagging db1tesp - (*) Physical standby database Error: ORA-16810: multiple errors or warnings detected for the database Fast-Start Failover: ENABLED Configuration Status: ERROR
DGMGRL> show database db1tesd Database - db1tesd Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): db1tesd1 Database Warning(s): ORA-16829: fast-start failover configuration is lagging Database Status: WARNING
DGMGRL> show database db1tesp Database - db1tesp Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: (unknown) Apply Lag: 3 hours 20 minutes 3 seconds Real Time Query: ON Instance(s): db1tesp1 (apply instance) db1tesp2 Database Warning(s): ORA-16826: apply service state is inconsistent with the DelayMins property ORA-16829: fast-start failover configuration is lagging Database Status: WARNING
The Solution
What I did in our case was simply restarted the the new DR and it fixed the issue.
$ srvctl stop database -d db1tesp $ srvctl start database -d db1tesp
$ dgmgrl DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production Copyright (c) 2000, 2009, Oracle. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect sys Password: Connected.
DGMGRL> show configuration Configuration - db1tes_dg Protection Mode: MaxPerformance Databases: db1tesd - Primary database db1tesp - (*) Physical standby database Fast-Start Failover: ENABLED Configuration Status: SUCCESS
show database db1tesp Database - db1tesp Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds Apply Lag: 0 seconds Real Time Query: ON Instance(s): db1tesp1 (apply instance) db1tesp2 Database Status: SUCCESS DGMGRL> show database db1tesd Database - db1tesd Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): db1tesd1 Database Status: SUCCESS