Linux下,Oracle如何操作可以监控到数据库执行的所有SQL,就像SQLServerProfiler能做的那样?

像SQLServerProfiler,任意一个会话执行了某个SQL,都可以记录显示出来?
clipboard.png

阅读 2.9k
1 个回答

10g以后的版本,使用dbms_monitor包的命令可以启动数据库、session级别的跟踪,再往前的版本只能用10046事件了。

dbms_monitor.session_trace_enable(sid => 127, serial => 29)
dbms_monitor.session_trace_disable(sid => 127, serial => 29)

trace结束后,会生成.trc文件,可以使用oracle自带的tkprof工具进行格式化和汇总,如:

tkprof crm_ora_2960_adam.trc adam.txt aggregate=yes sys=no waits=yes sort=fchela
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题