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都会触发一此硬解析,所以不能再繁忙期或者频繁的执行。

相关文章
相关标签/搜索