Monday, 27 April 2015
ORA-00230: operation disallowed: snapshot control file enqueue unavailable
This error encountered during archivelog backup of a database. More details of error below:
Starting backup at 27-APR-15
channel CH01: starting full datafile backup set
channel CH01: specifying datafile(s) in backup set
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
waiting for snapshot control file enqueue
cannot make a snapshot control file
released channel: CH01
released channel: CH02
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on CH01 channel at 04/27/2015 04:00:14
ORA-00230: operation disallowed: snapshot control file enqueue unavailable
Cause:
One process is holding an enqueue on the control file when this backup attempt was made. Two options are:
1. Wait for the enqueue holding session/process to complete.
2. Locate and terminate the holder if you can afford to.
For option 2.
Use the sql below to locate the process:
SELECT s.sid, username, program, module, action, logon_time, l.*
FROM v$session s, v$enqueue_lock l
WHERE l.sid = s.sid and l.type = 'CF' AND l.id1 = 0 and l.id2 = 2;
You can use operating system "kill -9" command to terminate the identified process and then re-initiate the backup.
For windows, use "orakill" utility to terminate the specific thread.
orakill sid thread_id
sid: instance ID.
thread_id: SPID from above.
reference: http://www.arcserve-knowledgebase.com
Wednesday, 1 April 2015
ORA-01012: not logged on
The following happened when a user connects to an already running database:
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Apr 1 08:13:58 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected.
SQL>
SQL>
SQL>
SQL> select name from v$database;
select name from v$database
*
ERROR at line 1:
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0
Cause: This is usually happens to an heavily loaded database.
Solution: The following options will help resolve the challenge.
1. Kill Oracle processes>
#ps -ef |grep ora_smon*
#kill -9 smon_process_id
$sqlplus / as sysdba
SQL> startup
2. Restart the database server and bring up the database afterwards.
3. Stop the application server and stop listener to prevent new incoming connections. This will release sessions and allow new connections to the database.
Additionally, it is advised that the "processes" parameter be increased on the database.
SQL> show parameter processes
SQL> alter system set processes=new_value scope spfile;
SQL> shutdown (immediate)
SQL> startup
SQL> show parameter processes
Subscribe to:
Posts (Atom)