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 🙄
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/
Thanks i had similar and fixed it the same way.
On windows 2012 R2
I got the same when doing an upgrade from 12.1 -> 12.2 after creating new service it would not mount.
In the end I stopped server, listener, command prompt window.
Waited
Re-started listener, re-started dbservice,
I did shut down abort once I had let the service fully start (checked with adrci that it has terminated) as it will try to startup but fail due to the fact that it has not been upgraded.
I think its a windows lock issues as i’m doing this exercise on a VM and it has worked 3 times already. (i reverted my snapshots to test different recovery methods)
Sorry about the late reply Ian, but thanks for the comment 🙂