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

I hit the following problem with a 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:

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:

sqlplus /nolog
conn sys/**** as sysdba
shutdown abort

…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 *