跟踪会话session或诊断事件10046

alter session set sql_trace=true;
alter session set sql_trace=false;
SELECT spid
FROM v$process a, v$session b
WHERE a.addr = b.paddr AND
b.sid = sys_context('userenv', 'sid');--可以知道udump目录下的跟踪文件名。


或者以SYSDBA运行:
exec dbms_system.set_sql_trace_in_session(sid,serial#,true);
exec dbms_system.set_sql_trace_in_session(sid,serial#,false);

alter session set events '10046 trace name context forever,level 12';
alter session set events '10046 trace name context off';

exec dbms_monitor.session_trace_enable(session_id => 11,serial_num => 123,waits => true,binds => true);

10046事件可以设置以下四个级别:
1 - 启用标准的SQL_TRACE功能,等价于sql_trace
4 - Level 1 加上绑定值(bind values)
8 - Level 1 + 等待事件跟踪
12 - Level 1 + Level 4 + Level 8

当我们使用sql_trace/10046等事件进行进程跟踪时,会生成跟踪文件.跟踪文件名称由以下几部分组成:

_ora_.trc

以下脚本用户获得跟踪文件名称:

SELECT a.VALUE
|| b.symbol
|| c.instance_name
|| '_ora_'
|| d.spid
|| '.trc' trace_file
FROM (SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_dump_dest') a,
(SELECT SUBSTR (VALUE, -6, 1) symbol
FROM v$parameter
WHERE NAME = 'user_dump_dest') b,
(SELECT instance_name
FROM v$instance) c,
(SELECT spid
FROM v$session s, v$process p, v$mystat m
WHERE s.paddr = p.addr AND s.SID = m.SID AND m.statistic# = 0) d
/

其实这些都很简单,关键是读懂Oracle生成的trace文件

[@more@]

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

转载于:http://blog.itpub.net/256370/viewspace-1026091/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值