I have 3 databases: db01 primary, db02 standby cascading, db03 standby cascaded.
I have configured broker parameters by the following way:
DGMGRL> show configuration Configuration – DB_HQ_DR Protection Mode: MaxPerformance Members: db01 – Primary database db02 – Physical standby database db03- Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS DGMGRL> edit database ‘db01′ set property RedoRoutes='(LOCAL:db02)(db02:db03)’; Property “redoroutes” updated DGMGRL> edit database ‘db02′ set property RedoRoutes='(LOCAL:db01)(db01:db03)’; Property “redoroutes” updated
–Configured delaymins parameter:
DGMGRL> edit database ‘db03′ set property DelayMins=’21600’;
When selecting log_archive_dest_2 parameter on db02 I see that there is delay parameter 21600 as it should be.
SQL> show parameter log_archive_dest_2 log_archive_dest_2 | service="db03", delay=21600 optional compression=disable max_failure=0 max_connections=1 reopen=300
db_unique_name="db03" net_timeout=30, valid
_for=(standby_logfile,all_roles)DGMGRL> show configuration Configuration – DB_HQ_DR Protection Mode: MaxPerformance Members: db01 – Primary database db02 – Physical standby database db03- Physical standby database (receiving archived redo) Fast-Start Failover: DISABLED Configuration Status: SUCCESS
Problem is that apply process is not delayed. It applied as soon as there is generated archive log.
What happens? Why delay parameter is ignored?
Best Answer
If you want delay apply on Cascaded Standby you need to set the
DELAY
ofLOG_ARCHIVE_DEST_n
on Primary.Reference:DELAY