設定10046事件

leon830216發表於2014-03-01
-- 10046 事件說明
-- 是對 sql_trace 功能的增強
-- level 1 -- 等價於 sql_trace
-- level 4 -- 等價於 1 + 繫結值
-- level 8 -- 等價於 1 + 等待跟蹤
-- level 12 -- 等價於 1 + 4 + 8

-- 全域性設定
-- 對所有使用者程式和後臺程式有效
-- 在引數檔案中增加
event="10046 trace name context forever,level 12"

-- 當前會話
alter session set events '10046 trace name context forever,level 8';
alter session set events '10046 trace name context off';

-- 其他會話
exec dbms_system.set_ev(sid,serial#,10046,8,'go');
exec dbms_system.set_ev(sid,serial#,10046,0,'go');

-- 讀取當前會話設定的引數
-- alter session 設定的 sql_trace 不能透過 show parameter 來檢視
set feedback off
set serveroutput on
declare
    event_level number;
begin
    for event_number in 10000..10999 loop
        dbms_system.read_ev(event_number, event_level);
        if (event_level > 0) then
            dbms_output.put_line(
                'Event ' ||
                to_char(event_number) ||
                ' is set at level ' ||
                to_char(event_level)
            );
        end if;
    end loop;
end;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-1097813/,如需轉載,請註明出處,否則將追究法律責任。

相關文章