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: 9277 - Today Page Visits: 21
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