概述
查看10046事件,通常需要以下几个步骤:
- 在当前的会话(session)中激活10046事件
- 在当前session中执行目标sql
- 在当前session中关闭10046事件
- 将生成的文件转换为可阅读的形式
示例(注意需要DBA
权限):
SQL> oradebug setmypid;
已处理的语句
SQL> oradebug event 10046 trace name context forever,level 12;
已处理的语句
SQL> select empno,ename,dname from scott.emp,scott.dept where emp.deptno=dept.deptno;
EMPNO ENAME DNAME
---------- ---------- --------------
7782 CLARK ACCOUNTING
7839 KING ACCOUNTING
7934 MILLER ACCOUNTING
7566 JONES RESEARCH
7902 FORD RESEARCH
7876 ADAMS RESEARCH
7369 SMITH RESEARCH
7788 SCOTT RESEARCH
7521 WARD SALES
7844 TURNER SALES
7499 ALLEN SALES
EMPNO ENAME DNAME
---------- ---------- --------------
7900 JAMES SALES
7698 BLAKE SALES
7654 MARTIN SALES
已选择14行。
SQL> oradebug event 10046 trace name context off;
已处理的语句
SQL> oradebug tracefile_name;
d:\oracle\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6340.trc
退出sqlplus,执行命令,将trace文件转换为可阅读的形式
[d:\~]$ tkprof d:\oracle\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6340.trc d:\oracle\trc\test.trc