You can view the structures to be removed with the ipcs -sm command:
$ ipcs -sm
------ Shared Memory Segments --------key shmid owner perms bytes nattch status
0xb3e36378 32768 oracle 640 421527552 16
0x34525e84 65537 oracle 640 421527552 11
------ Semaphore Arrays --------key semid owner perms nsems
0x288e2800 360448 oracle 640 126
0x288e2801 393217 oracle 640 126
0x288e2802 425986 oracle 640 126
If you’re working on a server that has multiple Oracle instances running, ensure that you remove
the correct memory structure. If you remove the wrong structure, you will inadvertently crash another database.
You can use the sysresv Oracle utility to verify which memory structures belong
to the orphaned instance
By running the Oracle sysresv utility (located in the ORACLE_HOME/bin
directory). This command reports on memory structures that correspond to your current instance
setting of ORACLE_SID. Run this command as the owner of the Oracle binaries (usually oracle):
$ sysresv
IPC Resources for ORACLE_SID "REV10" :
Shared Memory:
ID KEY
2424843 0x00000000
2457612 0x00000000
2490381 0xa4746610
Semaphores:
ID KEY
2457602 0x62f172a8
Oracle Instance alive for sid "REV10"
You can remove memory objects either by the key or by ID. This next example uses the -m
option to remove a shared memory segment by its ID:
$ ipcrm -m 2686990
This next example uses the -s option to remove semaphore arrays using IDs:
$ ipcrm -s 2719748
You can verify that the memory structures have been removed by running sysresv again
No comments:
Post a Comment