文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>oracle判定如何实例的是否运行

oracle判定如何实例的是否运行

时间:2010-07-23  来源:oracle狂热分子

                                oracle判定如何实例的是否运行           在启动ORACLE实例之前,必须定义ORACLE_SID。TOM关于ORACLE_SID的解释是oracle根据SID的hash来唯一决定一个实例的地址。当我们打开sqlplus /nolog 发布conn / as sysdba以后;net services(BEQ)根据SID进行hash,查找在共享内存中是否有相应的共享内存段(SHMID)存在,如果有则返回connected,否则返因connect to an idle instance;这个实例名是存放在SGA中的variablesize中。
      于是通过oradebug ipc来得到variable所存放的SHM的SHMID号,再在OS下使用ipcrm -m SHMID删掉这一段共享内存.
      由于已连上去的SQLPLUS会话已经验证过了,所以还可以继续操纵DB,但时当发布一个新的sqlplus会话时,net services(BEQ)根据SID去HASH,然后决定是哪一个SHMID内存时,发现这个共享内存段不存在了,于是返回一个connect to an idle instance信息,以为实例不存了。但是ORACLE的后台进程都存在,在发布IPCRM命令之前的会话还可以正常运行。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载