ORA-09968: unable to lock file

Recently seen this error while starting the database

-- alert.log

CJQ0 started with pid=8, OS id=21126
MMON started with pid=11, OS id=21130
MMNL started with pid=12, OS id=21134
Tue Aug  9 18:03:45 2011
ALTER DATABASE   MOUNT
Tue Aug  9 18:03:45 2011
sculkget: failed to lock 
/u01/app/oracle/product/10.2.0/dbs/lkdevdb exclusive
sculkget: lock held by PID: 4925
Tue Aug  9 18:03:45 2011
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 4925
Tue Aug  9 18:03:45 2011
ORA-1102 signalled during: ALTER DATABASE   MOUNT...
Tue Aug  9 18:04:06 2011
alter database open
Tue Aug  9 18:04:06 2011
ORA-1507 signalled during: alter database open...
Tue Aug  9 18:05:56 2011
Shutting down instance (abort)

This error is caused by presence of the lk<sid> file in $ORACLE_HOME/dbs. Normally left due to instance crash i.e not clean shutdown.

Well there are couple of solutions to resolve this problem

1. We can remove or rename the file and then try to start the instance.

2. Sometimes, even after the file is deleted, some shadow processes may have open file handle on this file. In this case, we’ll have to kill the process(es) specific to this instance.

NOTE: The lk<sid> file is an instance lock file. Oracle uses this mechanism to prevent staring of second instance.

Advertisements
This entry was posted in Oracle Availability, Unix OS and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s