Environment Details:
OS: Linux Server 5.8 64bit
Version: 11.2.0.3.0
Software Installation location: /u01/app/oracle/product/112030
Database Name: testdb
Datafile's Location: /u01/oradata/testdb
Issue: While starting the database we were getting the error "ORA-01102: cannot mount database in EXCLUSIVE mode".
Error Message:
oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 04:02:10 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 680607744 bytes
Fixed Size 2231472 bytes
Variable Size 507511632 bytes
Database Buffers 163577856 bytes
Redo Buffers 7286784 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
Excerpt from the Alert log file
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
ORACLE_BASE from environment = /u01/app/oracle
Wed Nov 06 04:02:44 2013
ALTER DATABASE MOUNT
sculkget: failed to lock /u01/app/oracle/product/112030/dbs/lkTESTDB exclusive
sculkget: lock held by PID: 64
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 64
ORA-1102 signalled during: ALTER DATABASE MOUNT...
Solution:
89-oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 06:13:15 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> exit
oracle@linux01=> ps -ef|grep testdb
oracle 974 6086 0 00:09 pts/1 00:00:00 grep testdb
oracle@linux01=> cd /u01/oradata
oracle@linux01=> cp -r testdb testdb.1
oracle@linux01=> mv -r testdb testdb.old
oracle@linux01=> mv testdb.1 testdb
oracle@linux01=> cd $ORACLE_HOME/dbs
oracle@linux01=> rm lkTESTDB
oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 04:25:12 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 680607744 bytes
Fixed Size 2231472 bytes
Variable Size 507511632 bytes
Database Buffers 163577856 bytes
Redo Buffers 7286784 bytes
Database mounted.
Database opened.
SQL> exit
OS: Linux Server 5.8 64bit
Version: 11.2.0.3.0
Software Installation location: /u01/app/oracle/product/112030
Database Name: testdb
Datafile's Location: /u01/oradata/testdb
Issue: While starting the database we were getting the error "ORA-01102: cannot mount database in EXCLUSIVE mode".
Error Message:
oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 04:02:10 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 680607744 bytes
Fixed Size 2231472 bytes
Variable Size 507511632 bytes
Database Buffers 163577856 bytes
Redo Buffers 7286784 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
Excerpt from the Alert log file
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
ORACLE_BASE from environment = /u01/app/oracle
Wed Nov 06 04:02:44 2013
ALTER DATABASE MOUNT
sculkget: failed to lock /u01/app/oracle/product/112030/dbs/lkTESTDB exclusive
sculkget: lock held by PID: 64
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 64
ORA-1102 signalled during: ALTER DATABASE MOUNT...
Solution:
- Shutdown the database which is started(it will be in NOMOUNT Mode)
- Check if any other process is running for that database, if yes kill those processes.
- Copy the directory containing the datafiles to a different location.
- Rename the directory to a different name and move the copied directory back to the same name.
- Now go to $ORACLE_HOME/dbs and delete the file lkTESTDB
- Start the database
89-oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 06:13:15 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> exit
oracle@linux01=> ps -ef|grep testdb
oracle 974 6086 0 00:09 pts/1 00:00:00 grep testdb
oracle@linux01=> cd /u01/oradata
oracle@linux01=> cp -r testdb testdb.1
oracle@linux01=> mv -r testdb testdb.old
oracle@linux01=> mv testdb.1 testdb
oracle@linux01=> cd $ORACLE_HOME/dbs
oracle@linux01=> rm lkTESTDB
oracle@linux01=> sqlplus sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 6 04:25:12 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 680607744 bytes
Fixed Size 2231472 bytes
Variable Size 507511632 bytes
Database Buffers 163577856 bytes
Redo Buffers 7286784 bytes
Database mounted.
Database opened.
SQL> exit
No comments:
Post a Comment