跟踪的Oracle会话
问题描述:
我面对的一个小问题&我需要你的帮助,如果你有时间做的所有活动,请:)跟踪的Oracle会话
我试图建立一种审计跟踪所有SQL语句由某些特定会话执行。
因此,我创建了一个触发器AFTER LOGON
,为这些会话启用跟踪事件(10046(所有级别测试)或使用DBMS_MONITOR)。
剧本给了我正确的结果,但除此之外,它有很多统计&甲骨文内部查询填充的痕迹,所以我想它会影响数据库的性能&会占用太多的磁盘空间。
有什么办法只收集用户查询?可能是一个具体的痕迹可以让我这样做吗?
感谢您的建议:)使用标志sys=no
与tkprof
格式文件
答
过滤递归查询出来的跟踪文件:
tkprof input_file.trc output_file.txt sys=no
输出文件应该是更小,更易于阅读比原始跟踪文件。该文件可能还会包含一些您不关心的语句,例如Spatial/SDO触发器。但大部分幕后声明将被排除。
,仅查看该会话执行的查询,并排除所有的统计数据和内部查询,使用record
标志产生一个单独的文件:
tkprof input_file.trc output_file.tk sys=no record=record.txt
谢谢!输出更好:)是否有删除统计信息或删除内部查询? – DBAMan