我们遇到了一个锁定在我们系统中的表的问题,因此我们决定放置一个跟踪文件,以便我们可以收集更多关于它的信息。这就是我们所做的:
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
。
我们缺少什么?
答案 0 :(得分:3)
在我看来,你正在做的事情应该是有效的。我能想到要检查的事情是:
你正在寻找合适的地方吗?跟踪文件应该进入USER_DUMP_DEST
数据库参数指示的目录。
Oracle OS帐户是否对目录具有写权限?如果没有创建跟踪文件将无声地失败。
如果您使用的是Windows,则可以在激活跟踪后使用Process Explorer检查oracle.exe的所有打开文件句柄。如果由于某种原因文件将进入意外位置,您将以这种方式找到它。据推测,您可以通过某种方式在其他操作系统上检查相同的内容。
答案 1 :(得分:0)
Daft理论,但请仔细检查udump_dest_dir设置。可能会在意外的地方创建。 (在此基础上,还要检查bdump是否存在共享服务器连接)。