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:
- Kill all Oracle processes associated with the
ORACLE_SID
- 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
T ID
KEY MODE
OWNER GROUP SEGSZ CPID LPID
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!

|
|
|

|
|
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.
Copyright © 1996 - 2020
All rights reserved by
Burleson
Oracle ®
is the registered trademark of Oracle Corporation.
|
|