Oracle internals

--dump error
 SQL> alter system set events='0001 trace name errorstack level 3';

System altered.
--check if set
SQL> oradebug setmypid
Statement processed.
SQL> oradebug eventdump system
1 trace name ERRORSTACK level 3

--test
SQL> insert into test values(1);
4insert into test values(1)
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.SYS_C002985) violated

--example of trace file
...
Unix process pid: 16007, image: oracle@rac2 (TNS V1-V3)

*** 2012-08-15 21:04:28.262
*** SERVICE NAME:(SYS$USERS) 2012-08-15 21:04:28.261
*** SESSION ID:(153.65) 2012-08-15 21:04:28.261
Dump event group for SYSTEM
*** 2012-08-15 21:04:44.095
ksedmp: internal or fatal error
ORA-00001: unique constraint (SYS.SYS_C002985) violated
Current SQL statement for this session:
insert into test values(1)
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedst()+27          call     ksedst1()            0 ? 1 ?
ksedmp()+557         call     ksedst()             0 ? 6C ? BF9CC62C ? 0 ?
                                                   CC95774 ? 3CF2CDD0 ?
...

--off the event
SQL> alter system set events='1 trace name errorstack off';

System altered.

Комментариев нет:

Отправить комментарий

Update BLOB

set define off DECLARE    vb1 CLOB := 'long text';    vb2 CLOB :=                 'long text';    vb3 CLOB :=              ...