【发布时间】:2016-09-23 20:45:18
【问题描述】:
您好,我正在使用 Oracle 11g 和 12c。我们正在尝试实现场景导航,并希望收集后台 oracle 查询。假设我正在做一些活动,比如登录应用程序,现在我想知道在登录活动期间使用了哪些查询。像这样,我们有多个场景,并且必须捕获其背后的查询。有人可以帮我弄这个吗?
【问题讨论】:
您好,我正在使用 Oracle 11g 和 12c。我们正在尝试实现场景导航,并希望收集后台 oracle 查询。假设我正在做一些活动,比如登录应用程序,现在我想知道在登录活动期间使用了哪些查询。像这样,我们有多个场景,并且必须捕获其背后的查询。有人可以帮我弄这个吗?
【问题讨论】:
有多种方法可以生成跟踪文件,但由于您想捕获所有内容,您可以在数据库级别打开它:-
ALTER SYSTEM SET sql_trace = true SCOPE=MEMORY;
一旦你完成了你的测试,就把它关掉(真的尽快)
ALTER SYSTEM SET sql_trace = false SCOPE=MEMORY;
输出将放置在诊断目录中。类似的东西
$ORACLE_BASE/diag/rdbms/sid/SID/trace
您可以通过 tkprof 运行输出,使其更易于阅读
tkprof trace.trc trace.txt
还有其他选项可用于跟踪您可能更喜欢的会话(这些选项大多已审核 here)。
这适用于 11g 和 12c。
【讨论】: