【正确答案】在启动Oracle实例之前,必须定义ORACLE_SID,Oracle根据SID的HASH值来唯一确定一个实例的地址。当打开SQL*Plus工具,输入“sqlplus/as sysdba”以后,系统根据SID进行HASH,查找在共享内存中是否有相应的共享内存段(SHMID)存在,如果有,那么返回connected,否则返回connect to an idle instance,这个实例名是存放在SGA中的variable size中。
通过ORADEBUG IPC来得到variable所存放的SHM的SHMID号,在OS下使用ipcrm-m SHMID可以删掉这一段共享内存。另外,在OS级别也可以使用sysresv命令来获取SHMID号。
ORADEBUG IPC命令如下:

sysresv命令如下:
