我们的系统中有一个表被锁定,因此我们决定放置一个跟踪文件,以便收集更多信息
alter session set tracefile_identifier='10046USERLOGINNR';
alter session set timed_statistics = true;
alter session set statistics_level=all;
alter session set max_dump_file_size = unlimited;
alter session set events '10046 trace name context forever,level 12';
//UPDATE SQL STATEMENTS
alter session set events '10046 trace name context off';
但是,由于某些我们还不能确定的原因,跟踪文件10046USERLOGINNR
没有被创建。
我们缺了什么吗?
在我看来,你所做的应该是有效的。我能想到要检查的是:
你找对地方了吗?跟踪文件应该进入由USER_DUMP_DEST
数据库参数指示的目录中。
Oracle操作系统帐户是否具有对目录的写入权限?如果没有,跟踪文件的创建将以静默方式失败。
如果你在Windows上,你可以在激活跟踪后使用Process Explorer检查所有打开的文件句柄是否有oracle.exe。如果由于某种原因,文件将转到一个意外的位置,您会通过这种方式找到它。大概有一些方法可以让你在其他操作系统上检查同样的东西。
愚蠢理论,但请仔细检查udump_dest_dir设置。可能是在某个意想不到的地方创建的。(在此基础上,还要检查bdump是否存在共享服务器连接)。