dbaXchange.com


Database Resources
- RDBMS Server
-
Database Administration
-
Performance Tuning
-
Backup and Recovery
-
Oracle Utilities

-
SQL and PLSQL
-
Network Administration
-
Client Applications
-
Miscellaneous Stuff

Oracle's technology Sites

http://technet.oracle.com

http://metalink.oracle.com

http://asktom.oracle.com/

http://www.oramag.com


Search this site or the web


Site search Web search powered by FreeFind



 

Category     : Database Resources -> RDBMS Server

DB Version  : Oracle 8i / Oracle 9i

OS Details    : Sun Solaris9, Linux RedHat 9

 

There has been numerous times when we've encountered "ORA-27086 skgfglk: unable to lock file- already in use" error during a database startup even after the database was shutdown as normal. After some investigation, we were able to trace the error to the Network Appliance Storage (NAS) not releasing file locks even after the instance was shutdown. Posted below is Oracle's solution to the problem:

Problem Encountered
-------------------------

When trying to startup a database with database files on a Network Appliance, the following errors are received:

ORA-01157: cannot identify/lock data file <xyz> - see DBWR trace file
ORA-01110: data file <xyz> Additionally the alert log has another error:
ORA-27086 skgfglk: unable to lock file- already in use

The command ps -ef | grep <sid_name> shows that there are no background processes for the instance.


Here's how you fix it 
-------------------------

Network Appliance has locks on the oracle datafiles that needed to be released. Here's how you force Network Appliance to release the locks:

As root on the Network appliance sever :

rc_toggle_basic
sm_mon -l <hostname>


The hostname being referenced in the above command should be the machine name where the Oracle instance is running from.

Please be aware that all existing locks on the machine will be released and so if you have multiple instances of oracle running on the same machine, make sure that all the instances on that host are shutdown before attempting to release the storage locks.

Why did this happen in the first place?
------------------------------------------

Oracle requires locks on database files and with an existing lock on the file, the database could not be started. These locks may be retained by the Network Appliance due to an instance or host machine failure. In these cases, the locks must be manually released from the Network Appliance by the System Administrator.