|
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.
|