一、对当前的session使用oradebug命令:
SQL> conn / as sysdba
Connected.
SQL> oradebug setmypid
Statement processed.
或者对其他session做跟踪
--连接到一个外部服务进程,且pid=v$process.pid
oradebug setorapid pid
--连接到一个外部服务进程,且spid=v$process.spid
oradebug setospid spid
二、激活10046事件
SQL> oradebug event 10046 trace name context forever,level 12;
Statement processed.
三、执行目标sql语句
SQL> select count(1) from v$session where Seconds_in_wait/60>=1 and STATE='WAITING' and sid in (select HOLDING_SESSION from DBA_WAITERS);
四、查看对应的trc文件及目录
SQL> oradebug tracefile_name;
/oracle/DB/11.2.0/admin/PROD/diag/rdbms/prod/PROD1/trace/PROD1_ora_109226.trc
五、关闭当前的10046跟踪事件
SQL> oradebug event 10046 trace name context off;
Statement processed.
六、使用tkprof来格式化
$ tkprof /oracle/DB/11.2.0/admin/PROD/diag/rdbms/prod/PROD1/trace/PROD1_ora_109226.trc /tmp/PROD1_ora_109226.txt
七、查看得到的/tmp/PROD1_ora_109226.txt文件
oradebug 10046
未经允许不得转载:徐万新之路 » oradebug 10046
最新评论
这个牛
放下欲望,男人从来不醉,充分且必要
勇气、责任、自信、创新,为天下先!
软件即数据,软件即服务,软件即管理,软件就是对人类各种社会活动的仿真和记录。软件很重要,但软件不可能凌驾于业务之上,尤其不可能高人一等。