[20190917]oracle跟踪事件简单写法.txt
--//以前我要做10046跟踪,总是记不住命令。总是要把一些常用脚本写入一个文本文件,采用copy and paste的方式操作。
--//文本越来越大,最后发现这样的方式管理不合理,也容易出错。我就开始一点点的建立自己的工作中使用的脚本,其中
--//也包括tanel poder的脚本(虽然我很少用).
--//10046on
alter session set events '10046 trace name context forever, level &1';
--//10046off.sql
alter session set events '10046 trace name context off';
--//我以前老是记不住trace name context forever这一串命令。
--//昨天看http://www.juliandyke.com/Diagnostics/Events/Events.php链接,才发现11g开始支持一种简单的写法、
--//链接http://www.juliandyke.com/Diagnostics/Events/Events.php:
In Oracle 11.1 and above a more concise syntax is available:
ALTER SYSTEM SET EVENTS '10235';
ALTER SYSTEM SET EVENTS '10235 level 1';
ALTER SYSTEM SET EVENTS '10235 off';
Events can also be enabled at session level using the ALTER SESSION command:
ALTER SESSION SET EVENTS '<event> trace name context forever, level <level>';
Events are disabled at session level using:
ALTER SESSION SET EVENTS '<event> trace name context off';
In Oracle 11.1 and above a more concise syntax is available:
ALTER SESSION SET EVENTS '10235';
ALTER SESSION SET EVENTS '10235 level 1';
ALTER SESSION SET EVENTS '10235 off';
Events can be enabled in other sessions using ORADEBUG
To enable an event in a process use:
ORADEBUG EVEMT <event> LEVEL <level>
For example
ORADEBUG EVEMT 10053 LEVEL 1
The default level is 1 so the above can be rewritten as:
ORADEBUG EVEMT 10053
To disable trace again:
ORADEBUG EVEMT 10053 OFF
--//这样写10046跟踪时间就相对简单了。
ALTER session SET EVENTS '10046 level 12';
...
ALTER session SET EVENTS '10046 off';
--//我在windows简单测试基本没有问题。当然并不是全部可以替换,比如你跟踪942 ERRORSTACK,执行如下:
ALTER session SET EVENTS '942 level 12';
select * from notexist;
ALTER session SET EVENTS '942 off';
alter session set events '942 trace name context forever, level 12';
select * from notexist;
alter session set events '942 trace name context off';
--//跟踪文件看到的就是这个表,是看不到执行的sql语句,要看语句要配合10046事件。
--//如果要转储ERRORSTACK,必须这样写:
ALTER session SET EVENTS '942 TRACE NAME ERRORSTACK LEVEL 12';
select * from notexist;
ALTER session SET EVENTS '942 TRACE NAME ERRORSTACK OFF';
--//不过支持这样简单写法,简单许多也不容易出错。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2657325/ ,如需转载,请注明出处,否则将追究法律责任。