Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 







ORA-01081: cannot start already-running Oracle – shut it down first!

Oracle Tips by Donald BurlesonDecember 20, 2016

Question: What causes the ORA-11081 error,  The cause and action in the documentation is nit helpful, and I need to be able to re-start my Oracle database after a system crash even though the ORA-01081 message says that Oracle is already running!  How do I fix the ORA-01081 error?  I have both Windows and Linux/UNIX servers running Oracle.

Answer:  The ORA-01081 error that ocues right after a system issue (where you cannot connect to the database) usually means that you have "held" RAM segments that need to be cleaned up.

ORA-01081 on Windows

If you have a hung database on Windows, the easiest way to fix the problem is to bounce the PC, turning it off and then re-starting it.  You can also use the orakill utility to force down an Oracle database.


 ORA-01081 on Linux/UNIX

When you are forced to terminate a half-running Oracle instance on a UNIX or Linux server, you have to perform the following steps:

  1. Kill all Oracle processes associated with the ORACLE_SID
  2. Use the ipcs –pmb command to identify all held RAM memory segments, the then use the ipcrm –m command to release the RAM memory from UNIX.
    (non_AIX only) Use the ipcs –sa command to display held semaphores and then use the ipcrm –s command to release the held semaphores for the instance

For the Oracle professional, it is easy to create a single command to terminate all Oracle processes associated with your hung database instance.  In the example below, we use the ps command to identify the Oracle processes and then use the awk utility to extract the process ID (PID) for the Oracle processes.  We then pipe the process ID into the UNIX kill command:

root> ps -ef|grep $ORACLE_SID| \
      grep -v grep|awk '{print $2}'|xargs -i kill -9 {}  

Now, after we have killed all Oracle processes, we can then check for held memory using the ipcs –pmb command and remove the memory held by the database.  We start by displaying all held memory segments on the database server.
root> ipcs -pmb

IPC status from /dev/kmem as of Mon Sep 10 16:45:16 2001
Shared Memory:
m   24064 0x4cb0be18 --rw-r----- oracle    dba 28975104  1836 23847
m       1 0x4e040002 --rw-rw-rw-   root   root    31008   572   572
m       2 0x411ca945 --rw-rw-rw-   root   root     8192   572   584
m    4611 0x0c6629c9 --rw-r-----   root   root  7216716  1346 23981
m       4 0x06347849 --rw-rw-rw-   root   root    77384  1346  1361

Here we see that the only RAM memory segment owned by Oracle is ID=24064.  The following command will release this memory segment:

root> ipcrm –m 24064

Oracle Training from Don Burleson 

The best on site "Oracle training classes" are just a phone call away! You can get personalized Oracle training by Donald Burleson, right at your shop!

Oracle training

  Oracle consulting and training


Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2020

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.



Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster