* fact: Oracle Server - Enterprise Edition
* symptom: Starting database fails
* symptom: ORA-00202: controlfile: '%s'
* symptom: ORA-27086 skgfglk: unable to lock file already in use
* symptom: SVR4 UNIX Error: 11: Resource temporarily unavailable
* change: The database was shutdown abort
* cause: Shared memory segment or semaphore has not been deleted from memory.
fix:
If this is the only Oracle instance on the machine, then fixing this can be
done in two ways:
1. Shutdown the machine and restart it, as it clears all shared memory segments
2. Use the following commands to remove the shared memory segments and
semaphores owned by the Oracle user.
At the unix command prompt do the following:
a) ipcs -m
This shows the memory segments owned by the oracle user. If there are some
segments owned by Oracle and the instance is down, then record the segment
id number and carry on with point b
b) ipcrm -m <segment id number>
This removes the segment from memory so Oracle no longer has a hold on
that piece of memory
c) ipcs -s
This is like the ipcs -m command, but this is for semaphores. Like the
memory segments, semaphores has segment ids also. Record the ones owned
by Oracle so they can be removed
d) ipcrm -s <segment id number>
If on the otherhand there are more than one Oracle instances on the machine,
then it is far better to shut those active instances down before progressing
with the points documented above.
Partager