Author's name: Mark D Powell
Author's Email: Mark . Powell @ eds . com [remove spaces]
Date written: 20 August 2004
Oracle version(s): 22.214.171.124
How do I know what Oracle EVENTS are set in my database instance?
To find events that are set at the SYSTEM level you can use the oradebug utility. Following is my events_system.sql script, which runs the necessary commands. Sample output is included in the comment area of the script. The event at the time of the sample was for generating a trace file when ORA-04031 errors occurred.
set echo off
-- Use ORADEBUG to dump list of events set at system level
-- Based on Oracle support metalink rdbms forum post 08/04/2003
- by Melissa Holman Subject: Setting Event Trace
- 20030805 Mark D Powell New, capture useful functionality
- *** 2003-08-05 09:58:20.827
- *** SESSION ID:(34.5167) 2003-08-05 09:58:20.781
- Dump event group for level PROCESS
- TC Addr Evt#(b10) Action TR Addr Arm Life
- 101D9020 4031 1 101d9080 0 0
set echo on
ORADEBUG DUMP EVENTS 2
The first command tells oradebug to use the current session as its target. All system wide events would be inherited by the current session at process startup. The thought might occur to you that events set by the current session at the session level would also appear in the output; my testing on 126.96.36.199 shows they do not. You can verify this by setting a session level event and then running the three lines on code.
The second command obviously produces the trace file while the third command displays the trace file name.
A word of caution, generally system wide events are set only with the advice of Oracle support to work around internal errors or for generating debugging (trace) information. Finding information on non-trace events is difficult, but if you have any set you can scan the Oracle support site, http://metalink.oracle.com, bug database for bug reports that refer to identified events.
No further references.