ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 等待事件快速定位诊断

等待事件快速定位诊断

原创 Linux操作系统 作者:yezhibin 时间:2010-12-31 14:14:04 0 删除 编辑
        当用户提交其某个session发生等待事件,通常是通过v$session_wait查看是

等待什么事件,根据等待事件的种类,查找相应造成该session等待的其他session

信息。面对这些问题,我习惯用oradebug dump systemstate命令来诊断,能够很

直接找到blocking session。

       具体步骤:

1、查看blocked session 对应的PID
 
SQL>select pid from v$process
           where addr in (select paddr from v$session
                                       where sid=blocked_session);

2、SQL>oradebug setmypid
      SQL>oradebug dump systemstate 266
                等待几分钟
      SQL>oradebug dump systemstate 266
      SQL>oradebug tracename_file

3、查看trace文件,查找步骤1 PID信息“PROCESS PID"
       可以知道当前blocked session的等待信息是什么,提取handle address信息

4、在跟踪文件中查找handle address,获得对应的PROCESS PID信息,

5、我们通过获得的PID信息,找出blocking session的SID,从而进一步进行分析。

SQL>select sid from v$session
           where paddr=(select addr from v$process
                                      where pid=xxxx)。
 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/354732/viewspace-683060/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-18

  • 博文量
    159
  • 访问量
    559686