Hi folks,
I've implemented a managed recovery physical standby database (version 9.2) on a remote server.

The log_archive_dest_2 on my primary database has been set as below :
alter system set log_archive_dest_2='SERVICE=PRODDB2 LGWR ASYNC NOAFFIRM OPTIONAL REOPEN=300'
log_archive_dest_state_2='ENABLE'

The REOPEN clause from what I understand specifies the interval of time (in seconds) that must pass after an error has been encountered during archiving to the destination before future archives to the destination can be attempted. Future attempts are made when the next redo log file is archived.

In my case, I notice that the archiving to the destination is not retried (at 300 sec intervals) when the managed recovery process stops on the standby due to an error (due to 1) networking errors or 2) when a archivelog is copied over partially..and is thus corrupt). Why is this? The log tranmission seems to stop entirely. No new archivelogs are generated on the standby anymore.

Inorder to reinitiate transmission of archielogfiles, I end up having to
1) Fix the file corruption manually
2) then reissue an "alter database recover managed standby database disconnect from session"
3) "alter system switch logfile" on the primary

While I realize that there is no way around steps 1 and 2, why in the world do I have to perform step 3 explicitly/manually??!! Shouldn't the reopen clause have taken care of transmitting the missing logfiles?!!

Thanks for your time.