在 Oracle 中,当我更改 session 参数并设置 Tracefile_identifier 时,跟踪工作正常,如下所示。
alter session set max_dump_file_size = unlimited;
alter session set timed_statistics=true;
alter session set statistics_level=ALL;
alter session set tracefile_identifier=mytracefile;
alter session set sql_trace=true;
alter session set events '10046 trace name context forever, level 12';
但我想为特定时间段内数据库中的所有连接生成单个跟踪文件。我尝试了相同的命令,但通过更改系统而不是 session 。我无法更改tracefile_identifier。我收到ORA-02096:指定的初始化参数无法用此修改
。请让我知道如何实现这一目标。
最佳答案
简而言之,这是不可能的。
Oracle 跟踪文件是按进程编写的。因此,任何后台进程(PMON、SMON 等)都将写入其自己的跟踪文件,任何用户的服务器进程也是如此。
如果您运行共享服务器,您将在同一文件中获得多个 session 的跟踪输出,因为这些 session 共享特定的服务器进程。
但是,将所有内容写入单个跟踪文件是不可能的。
如果您想在业务需求以及您实际想要实现的目标方面向问题添加更多信息,我也许可以提供更好的答案或替代解决方案。
关于sql - 如何对 Oracle 中的所有 session 使用单个跟踪文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20966962/