10053事件

10053 trace跟蹤文件

可以通過alter session set event 來創建,但是前提是這條SQL被真正執行過。

常見創建方法:

alter session set tracefile_identifier='mytrace';

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

select * from emp where ename='scott';

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

到了11g 對於10053有了優化,所以以上創建方法還可以是:

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

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

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都會觸發一此硬解析,因此不能再繁忙期或者頻繁的執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章