ORA-00230: operation disallowed: snapshot control file enqueue unavailable
ORA-00230: operation disallowed: snapshot control file enqueue unavailable
|
Starting Control File and SPFILE Autobackup at 2021-06-30 02:48:33 |
| RMAN-00571: =========================================================== |
| RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== |
| RMAN-00571: =========================================================== |
| RMAN-03009: failure of Control File and SPFILE Autobackup command on ORA_DISK_1 channel at 06/30/2021 03:51:35 |
| ORA-00230: operation disallowed: snapshot control file enqueue unavailable |
| RMAN> exit; |
| Recovery Manager complete.
|
What caused ORA-00230?
When RMAN needs to back up or re synchronize from the control file, it first creates a snapshot or consistent image of the control file. If one RMAN job is already backing up the control file while another needs to create a new snapshot control file, then you may see the following message:
waiting for snapshot control file enqueue
To determine which job is holding the conflicting enqueue:
SELECT s.SID,
USERNAME AS "User",
PROGRAM,
MODULE,
ACTION,
LOGON_TIME "Logon",
l.*,
'alter system kill session '||''''||s.SID||','||s.SERIAL#||','||'@'||s.INST_ID||''''||' immediate;'
FROM GV$SESSION s, GV$ENQUEUE_LOCK l
WHERE l.SID = s.SID
AND l.TYPE = 'CF'
AND l.ID1 = 0
AND l.ID2 = 2;
You should see output similar to the following:
SID User Program Module Action Logon --- ---- -------------------- ------------------- ---------------- --------- 18 SYS rman@testdb (TNS V1-V3) backup full data file: c30000110 STARTED 15-JUL-21
After you have determined which job is creating the enqueue, you can do one of the following:
- Wait until the job holding the enqueue completes
- kill current job and execute backup again
Total Page Visits: 11133 - Today Page Visits: 3

Hi
I have encountered same error during RMAN backup. But failure happened in past and I couldn’t get nor necessary to get older SID to kill.
Is there a way to avoid such error?
Could I add script to check if there is backup job running before starting a new backup job?
Regards,
LXZ