ORA-16855: Transport Lag Has Exceeded Specified Threshold in Data Guard !!
2 min readThe ORA-16855 error indicates that the transport lag (the delay in sending redo data from the primary to the standby database) has exceeded the specified threshold.
Cause: The current apply lag has exceeded the value specified by the ApplyLagThreshold
configurable property. This can be due to either a significant transport lag or poor performance of the apply services on the standby database.
On Primary database parameter log_archive_dest_2 is use to ship the redo to standby database, and parameter DELAY is set to 120 minutes. Therefore apply lag exists on Standby database to 2 hrs(120 mins).
By default there is no delay, The DELAY
attribute specifies a minimum time lag between when redo data from the primary site is archived on a standby site and when the archived redo log file is applied to the standby database or any standbys cascaded from it.
Action: Check for gaps in the standby database. If no gaps are present, optimize the apply services for better performance.
SOLUTION:
ApplyLagThreshold configurable database property generates a warning status for a logical or physical standby when the database’s apply lag exceeds the value specified by the property.
If the DELAY parameter set to protect a standby database from corrupted or erroneous primary data, then modify the ApplyLagThreshold in DataGuard broker properties match with DELAYMINS.
- ORA-16853 reported when DELAY parameter set:
Broker reports warning as shown below:
DGMGRL> show configuration;
Configuration - dg_config
Protection Mode: MaxPerformance
Members:
prod101 - Primary database
prod101s - Physical standby database
Warning: ORA-16855: transport lag has exceeded specified threshold
Fast-Start Failover: Disabled
Configuration Status:
WARNING (status updated 17 seconds ago)
2. Change the parameter value:
DGMGRL> show database verbose prod101s delaymins;
DelayMins = '0'
DGMGRL> edit database prod101s set property delaymins=14400;
Property "delaymins" updated
3. Validate it, now Configuration status is showing as SUCCESS.
DGMGRL> show configuration;
Configuration - dg_config
Protection Mode: MaxPerformance
Members:
prod101 - Primary database
prod101s - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 49 seconds ago)
DGMGRL>
Hope it helped !! 🙂