10053事件

10053 trace跟蹤文件sql

能夠經過alter session set event 來建立,可是前提是這條SQL被真正執行過。session

常見建立方法:ide

alter session set tracefile_identifier='mytrace';性能

alter session set events '10053 trace name context forever';優化

select * from emp where ename='scott';component

alter session set events '10053 trace name context off';io

到了11g 對於10053有了優化,因此以上建立方法還能夠是:event

alter session set tracefile_identifier='mytrace'; 建立trace標識符file

alter session set events 'trace [sql_compiler.*]';select

select * from emp where name='scott';

alter session set events 'trace [sql_compiler.*] off'; 退出10053 trace.

可是有的場景是不容許你執行sql的,好比sql是修改數據的,或者sql很大對性能有影響,或者沒有執行權限。這個時候咱們能夠使用dbms_sqldiag.dump_trace來實現,具體方法以下:

begin

dbms_sqldoag.dump_trace(p_sql_id=>'',

p_child_number=>0,

p_component=>'compiler',

p_file_id=>'mytrace');

end;

/

可是注意的是每次執行 dbms_sqldoag.dump_trace都會觸發一此硬解析,所以不能再繁忙期或者頻繁的執行。

相關文章
相關標籤/搜索