ORA-16629: database reports a different protection level from the protection mode
While checking the DG Broker configuration status, I was surprised to see that DGMGRL was throwing out “ORA-16629: database reports a different protection level from the protection mode” warning message.
Though the standby database was in sync with its primary database, DGMGRL was making noise by throwing the above warning message. This could have been happened if the standby redo log files were incorrectly sized from that of the online redo log files or if there is a lag on the standby database with MAXAVAILABILITY mode.. But in my case, none of these symptoms were seen as the SRLs were of the same size as that of the ORLs and nor was there a lag on the standby database.
Environment:
Primary database : srpstb Primary node : ora1-2 Standby database : srprim Standby node : ora1-1
DGMGRL> show configuration; Configuration - dgtest Protection Mode: MaxAvailability Databases: srpstb - Primary database Warning: ORA-16629: database reports a different protection level from the protection mode srprim - Physical standby database Fast-Start Failover: DISABLED Configuration Status: WARNING
I just went through re-reading the error message. The message is being reported for the primary database and it clearly says that the Protection Level of the database is different from that of it’s protection mode. A protection level is an aggregation of the protection mode currently being used for the database.
This let me to query and check what difference do I see with the Protection Mode and the Protection Level for the primary and standby databases.
On the primary, when I query, I see that the protection level reports as RESYNCHRONIZATION and the protection mode as MaxAvailability
SYS@srpstb> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM AVAILABILITY RESYNCHRONIZATION
But on the standby database, the protection mode and protection level were reporting as MAXIMUM PERFORMANCE. Quite strange !!
SYS@srprim> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
To set the protection mode same across the primary and physical standby database, I changed the protection mode to MAXPERFORMANCE at the broker level.
DGMGRL> edit configuration set protection mode as MAXPERFORMANCE; Succeeded. DGMGRL> show configuration; Configuration - dgtest Protection Mode: MaxPerformance Databases: srpstb - Primary database srprim - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS
Now that the broker status shows as “SUCCESS”, let me query the protection mode and level individually for the primary and physical standby database.
On the primary, as expected, the protection mode and level is now reporting as MAX PERFORMANCE.
SYS@srpstb> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
On the standby too, the protection mode and level were reporting as MAX PERFORMANCE.
SYS@srprim> select protection_mode,protection_level from v$database; PROTECTION_MODE PROTECTION_LEVEL -------------------- -------------------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
COPYRIGHT
© Shivananda Rao P, 2012 to 2018. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.
DISCLAIMER
The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organization. The views expressed by visitors on this blog are theirs solely and may not reflect mine.
Leave a Reply