10046 event 知多少
10046 event 知多少
2017年5月10日
10:08
1、在当前session级打开trace
适用于SQL语句可以在新的session创建后再运行。 在session级收集10046 trace: alter session set tracefile_identifier='10046'; --为便于区分 tracefile,最好做这一步 alter session set timed_statistics = true; alter session set statistics_level=all; alter session set max_dump_file_size = unlimited; alter session set events '10046 trace name context forever,level 12'; -- 执行需要被trace的SQL -- select * from dual; exit; 如果不退出当前session, 可以用以下命令关闭trace: alter session set events '10046 trace name context off'; 注意,如果session没有被彻底地关闭并且跟踪被停止了,某些重要的trace信息的可能会丢失。 |
2、跟踪一个已经开始的进程
如果需要跟踪一个已经存在session,可以用 oradebug连接到session上,并发起10046 trace。
Note: 也可以通过oradebug使用 'setorapid'命令连接到一个session。
|
dbms_monitor.session_trace_enable (cliend_id=>'', --只跟踪某种客户端标记的会话 Waits=> true, Binds=>false)
dbms_monitor.session_trace_disable(cliend_id=>'') --关闭跟踪某种客户端标记的会话 |