Monday, June 28, 2010

Oracle EventsTracing

Initialization parameter:
EVENT="\
10210 trace name context forever, level 10:\
10211 trace name context forever, level 10:\
10231 trace name context forever, level 10:\
10232 trace name context forever, level 10"

You can specify almost all EVENT settings at the session level using the ALTER SESSION command or a call to the DBMS_SYSYTEM.SET_EV( ) procedure; doing so

does not require an instance bounce for the EVENT to take effect.

grant alter session to test;
alter session set events '10032 trace name context forever';

GRANT EXECUTE ON DBMS_SYSTEM TO username; --Not recommended to grant system privilege to user
CREATE PUBLIC SYNONYM dbms_system FOR dbms_system;

EXECUTE SYS.dbms_system.set_ev (42, 45529,10046,12,'');
or
EXECUTE SYS.dbms_system.set_sql_trace_in_session (42, 45529, TRUE);


In SPFILE:
------------
ALTER SYSTEM SET event='10235 trace name context forever,
level 2','27072 trace name errorstack level 3' COMMENT='TEST' SCOPE=SPFILE;

ALTER SYSTEM RESET EVENT SCOPE=SPFILE SID='*' ; //Remove all events

In MEMORY:
----------------
ALTER SYSTEM SET events='10235 trace name context forever,
level 2:27072 trace name errorstack level 3';

{ alter system set event = | alter session set events [=] }
" trace name context {forever, level | off}"

alter session set events [=] {
"immediate trace name
{ heapdump | blockdump | treedump | controlf | systemstate | buffers } level "
| " trace name errorstack level [; name processstate level ]"
}

{ alter system set event = | alter session set events [=] }
" trace name context {forever, level | off}"

alter session set events [=] {
"immediate trace name
{ heapdump | blockdump | treedump | controlf | systemstate | buffers } level "
| " trace name errorstack level [; name processstate level ]"
}

Script to check which events are set:

declare
lvl number;
begin
for n in 10000..10999 loop
sys.dbms_system.read_ev(n,lvl);
if (lvl > 0) then
dbms_output.put_line('Event: ' || to_char(n) || ', Level: '
|| to_char(lvl ));
end if;
end loop;
end;
/
alter session set events '10046 trace name context off';

References:
https://netfiles.uiuc.edu/jstrode/www/orapack/DBMS_SYSTEM.html

No comments:

Post a Comment