ORA-16146: standby destination control file enqueue unavailable2
Tue Aug 17 18:24:58 2010
PING[ARC1]: Error 16146 when pinging standby PTMSTD.
Tue Aug 17 18:36:39 2010
Thread 1 advanced to log sequence 7694 (LGWR switch)
Current log# 7 seq# 7694 mem# 0: +DATA/ptmpri/onlinelog/group_7.263.694005303 Current log# 7 seq# 7694 mem# 1:
ORA-16146: standby destination control file enqueue unavailable
Cause: The target standby destination control file is currently unavailable to the Remote File Server (RFS) process. This indicates that the target destination is the primary database itself.
Action: Check for and eliminate the standby destination archive log parameter in question.
ORA-16146 is usually not a serious error, and occaisonally a PING process from the primary can get this error when the PING call is being processed on the standby. The PING callback on the standby side is executed in an RFS process. The RFS process needs to get hold of a c/f enqueue to perform some processing. If it does not get the c/f enqueue in a small amount of time it gives up, and returns this error to the PING archiver process at the primary, who then logs the error in the alert log.
This does not cause any disruption to the primary or the standby. It is possible that updates to datafiles, which are done under c/f enqueue, can take a long time, and as such there could be periods where the c/f enqueue is under contention. During such periods, a PING request being processed by an RFS can get c/f enqueue unavailable, this is then propogated to the PING archiver process.
15:34:55 sys@PTMPRI> select thread#,max(sequence#) from gv$archived_log group by thread# order by thread#;
---------- -------------- 1 7704
已用时间: 00: 00: 00.75
15:36:06 idle> select thread#,applied,max(sequence#) from gv$archived_log group by
THREAD# APP MAX(SEQUENCE#) ---------- --- -------------- 1 YES 7704
2 YES 6525
3 YES 6655
4 YES 5773