您现在的位置是:首页 >

oracle一个实例多个数据库 轻松接触Oracle数据库中的Kill session

火烧 2022-05-22 08:30:50 1042
轻松接触Oracle数据库中的Kill e io   问 当一个 e io 被kill掉以后 该 e io 的 addr被修改 如果有多个 e io 被kill 那么多个 e io 的 addr都会被
oracle一个实例多个数据库 轻松接触Oracle数据库中的Kill session

轻松接触Oracle数据库中的Kill session  

  问 当一个session被kill掉以后 该session的paddr被修改 如果有多个session被kill 那么多个session的paddr都会被更改为相同的进程地址 在这种情况下 资源是无法释放的 我选择了查询spid 在操作系统级来kill这些进程 但是由于此时v$session paddr已经改变 我已经无法通过v$session和v$process关联来获得spid 那还可以怎么办呢?

  答 具体示例如下

  SQL> select p addr from v$process p where pid <>    minus   select s paddr from v$session s; ADDR B E B

  现在我们获得了进程地址 就可以在v$process中找到spid 然后可以使用Kill或者orakill在系统级来杀掉这些进程

  当在Oracle中kill session以后 Oracle只是简单的把相关session的paddr 指向同一个虚拟地址

lishixinzhi/Article/program/SQL/201404/30531  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码