OSD-04400: unable to acquire internal semaphore for process and OS 183 (Windows)

I hit the following problem with a 9.2.0.8 database running on Windows 2003 this morning (info pulled from the alert log).  The database had failed to restart after a client’s cold backup process :roll:

ALTER DATABASE MOUNT
Wed Jan 15 22:32:08 2014
ORA-09341: scumnt: unable to mount database
OSD-04400: unable to acquire internal semaphore for process
O/S-Error: (OS 183) Cannot create a file when that file already exists.

Oracle documentation and MOS didn’t provide me with too much information to go on:

OSD-04400: Unable to acquire internal semaphore for process
Cause: Oracle database has exceeded the maximum number of connections.
Action: Delete any unused connections and try again.

When I tried starting up the database manually, Oracle then gave me a little more to go on:

ORA-01102: cannot mount database in EXCLUSIVE mode

So another instance had the database in a mounted state…or at least it thought it had!

In the end, I managed to resolve it by simply doing the following, from the command prompt:

set ORACLE_SID=<SID>
sqlplus /nolog
conn sys/**** as sysdba
shutdown abort
quit

…then I restated the Windows ‘OracleService<SID>’, checked the alert log and everything started up OK this time! …it’s not happened again since – very strange…

If that didn’t work, I’d have probably opted for rebooting the machine and crossing my fingers, but thankfully it didn’t come to that :)

I stumbled across this useful link in the process, which details other scenarios that may lead to ORA-01102 errors: http://www.orafaq.com/forum/t/40030/0/

Leave a comment

Your email address will not be published. Required fields are marked *

* Copy This Password *

* Type Or Paste Password Here *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>