Database won’t start; Problem with controlfile on NFS

After physical server reboot, database fail to start with error ORA-27086: unable to lock file – already in use.

ORA-00210: cannot open the specified control file
ORA-00202: control file: ‘/u02/data/testdb/control_testdb_02.ctl’
ORA-27086: unable to lock file – already in use
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 8

This typically happens with NFS mounts. After rebooting server, for some reason file descriptor(s) are left open on the storage side, causing this error.

To verify the problem, check the type of filesystem where control file resides.

mysrv:testdb:/home/oracle>mount | grep u02
x.x.x.x:/fs_u02 on /u02 type nfs (rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp,addr=x.x.x.x)

There are couple of ways to resolve this problem.

1. Sysadmins / storage admins can release the lock from storage side. Details in Doc ID 145194.1 – ORA-1157 ORA-1110 ORA-27086 Starting up Database

2. We as a DBA can rename the existing file and create a copy

mv /u02/data/testdb/control_testdb_02.ctl /u02/data/testdb/control_testdb_02.ctl.orig
cp /u02/data/testdb/control_testdb_02.ctl.orig /u02/data/testdb/control_testdb_02.ctl

This creates a new file descriptor at storage side and will allow database to start.

This entry was posted in Oracle Administration, Startup issues and tagged , , , . Bookmark the permalink.

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s