下面的两个语句:
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.
哪一个键必须从共享内存中被移除?一直都一样吗?(From DBMR 1880)
ipcs:检查系统中共享内存分配
ipcrm:manually deal locate shared memory on a system 手动分配系统中的共享内存
当删除共享内存时,请使用shmid (SharedMemory ID),一些操作之后,这个key会被更改。
例如:
[dbmaster@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0009c93b 294914 dbmaster 660 93249536 2
------ Semaphore Arrays --------
key semid owner perms nsems
[dbmaster@la-as4-s bin]$ ipcrm -m 294914
[dbmaster@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 294914 dbmaster 660 93249536 1 dest
------ Semaphore Arrays --------
key semid owner perms nsems
另外,在ipcrm共享内存之后,当已经关闭所有相关的终端后,共享内存将被删除。
例如关闭所有终端,然后开启一个新的:
[dbmaster@la-as4-s bin]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
------ Semaphore Arrays --------
key semid owner perms nsems
你可以看到共享内存294914被删除了。