oradebug setmypid oradebug dump events 4
Find the trace file in the user dump destination and it will contain something like this
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10.2.0
System name: Linux
Node name: bob
Release: 2.6.9-78.0.8.ELxenU
Version: #1 SMP Wed Nov 5 07:40:25 EST 2008
Machine: x86_64
Instance name: fred
Redo thread mounted by this instance: 1
Oracle process number: 18
Unix process pid: 26048, image: oracle@bob (TNS V1-V3)
*** 2010-02-10 17:26:22.100
*** ACTION NAME:() 2010-02-10 17:26:22.099
*** MODULE NAME:(sqlplus@bob (TNS V1-V3)) 2010-02-10 17:26:22.099
*** SERVICE NAME:(SYS$USERS) 2010-02-10 17:26:22.099
*** SESSION ID:(197.7107) 2010-02-10 17:26:22.099
Dump event group for level SYSTEM
TC Addr Evt#(b10) Action TR Addr Arm Life
81246A20 10298 1 81246ab0 0 0
TR Name TR level TR address TR arm TR life TR type
CONTEXT 32 0 -1 2 0
Here we have set event 10298 at level 32 like so
alter system set events '10298 trace name context forever, level 32';
This event incidentally turns off the checking for the correct parameters used when using nfs mountpoints for the datafiles and rman backups.
To do the same in 11g use the following
alter session set events 'immediate eventdump(system)'; alter session set events 'immediate eventdump(session)'; alter session set events 'immediate eventdump(process)';
Another quick SQL way to get events set is to run the following code
SET SERVEROUTPUT ON
DECLARE
l_level NUMBER;
BEGIN
FOR l_event IN 10000..10999
LOOP
dbms_system.read_ev (l_event,l_level);
IF l_level > 0
THEN
dbms_output.put_line ('Event '||TO_CHAR (l_event)||' is set at level '||TO_CHAR (l_level));
END IF;
END LOOP;
END;
/
This will catch most of the events commonly set.
No comments:
Post a Comment