返回顶部
首页 > 资讯 > 数据库 >pid,sid相互查找,根据PID查询sql
  • 397
分享到

pid,sid相互查找,根据PID查询sql

2024-04-02 19:04:59 397人浏览 八月长安
摘要

查看当前会话的session  ID 有如下三种方法: 1.   v$mystat视图 sql> select sid from v$mystat where

查看当前会话的session  ID 有如下三种方法:
1.   v$mystat视图
sql> select sid from v$mystat where rownum=1;


       SID
----------
      1152
2.   使用userenv(‘sid’) 直接获取
 
这种方法只能在oracle 10g以后可以使用。
SQL> select userenv('sid') from dual;

pid,sid相互查找:
 v$session_wait
 v$session
 v$sqltext
 v$process
 
///////pid找到sid///////// (假如进程找不到,那就不是oracle的进程)////
/////sid找到pid///////////(可能其他导致的)
 
 
  补充1:
根据pid找到sql语句
 SELECT  
         sql_text,hash_value
    FROM v$sqltext a
   WHERE (a.hash_value, a.address) IN (
            SELECT DECODE (sql_hash_value,
                           0, prev_hash_value,
                           sql_hash_value
                          ),
                   DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
              FROM v$session b
             WHERE b.paddr = (SELECT addr
                                FROM v$process c
                               WHERE c.spid = '&pid'))
ORDER BY piece ASC
 
  补充2:
根据pid,找到sid,serial#,再删除
 select sid,serial# FROM v$session b
             WHERE b.paddr = (SELECT addr
                                FROM v$process c
                               WHERE c.spid = '&pid')
 ORDER BY piece ASC
 说明: 这里的v$process的spid-就是top中的pid
  补充3: 
  根据sid,serial#,找到PID=
   Select c.spid from v$process c where c.addr=(select b.paddr from v$session b where b.sid= ' ' and b.serial#= ' ')







您可能感兴趣的文档:

--结束END--

本文标题: pid,sid相互查找,根据PID查询sql

本文链接: https://lsjlt.com/news/48090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作