当用户提交其某个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)。
等待什么事件,根据等待事件的种类,查找相应造成该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博客 ” ,链接:http://blog.itpub.net/354732/viewspace-683060/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/354732/viewspace-683060/