There are the following statements:
On the machine the database was last started from before it terminated abnormally, use the UNIX ipcrm utility to remove the allocated shared memory from the system.
And which key has to be removed from the shared memory? It's always the same? (From DBMR 1880)
ipcs:check the shared memory allocation on a system
ipcrm:manually deallocate shared memory on a system
When removing the shared memory, please use shmid (SharedMemory ID). After some operation, the key will be changed.
For example:
[dbmaker@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0009c93b 294914 dbmaker 660 93249536 2
------ Semaphore Arrays --------
key semid owner perms nsems
[dbmaker@la-as4-s bin]$ ipcrm -m 294914
[dbmaker@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 294914 dbmaker 660 93249536 1 dest
------ Semaphore Arrays --------
key semid owner perms nsems
And, after have ipcrm the shared memory, when you have closed all related terminal, the shared memory will be remove.
E.g. after closing all terminals and open a new one.
[dbmaker@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
------ Semaphore Arrays --------
key semid owner perms nsems
You can see the shared memory 294914 has been removed.