当我们遇到有性能问题的sql时,对其会话做一个sql_trace或者10046对于性能诊断是很有帮助的。而在10g中跟踪其他会话的10046事件可以使用dbms_monitor.SESSION_TRACE_ENABLE过程,而在10g以前则可以使用dbms_system.set_ev过程,下面我们就简单来了解下这个过程以及针对为什么有时使用该过程时没有正常生产trace文件。
dbms_system.set_ev过程有5个参数,分别为SI,SE,EV,LE,NM,对于前四个参数依次代表为会话sid,会话serial#,事件号,事件level,而对于NM参数的具体含义我还不清楚。
从网上搜索的来的结果有在执行dbms_system.set_ev时对于NM参数的取值出现了三种情况,一是传入username,二是传入null值,三是传入''值,经过我的测试之后只有传入''值时,trace文件才能生成(需要先开启trace,然后将其关闭才能看到trace文件)。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-723502/,如需转载,请注明出处,否则将追究法律责任。