【发布时间】:2017-01-26 17:31:13
【问题描述】:
简单的问题:我得到了一个查询(复杂),对于特定参数,它似乎运行缓慢。我想知道这些参数是什么。
是否有任何我可以在 Oracle (12) 中启用的跟踪功能。我正在寻找某种列表(对于给定的 sql_id),它会列出执行 + 绑定参数 + 执行时间。
谢谢!
【问题讨论】:
标签: sql oracle parameters trace execution-time
简单的问题:我得到了一个查询(复杂),对于特定参数,它似乎运行缓慢。我想知道这些参数是什么。
是否有任何我可以在 Oracle (12) 中启用的跟踪功能。我正在寻找某种列表(对于给定的 sql_id),它会列出执行 + 绑定参数 + 执行时间。
谢谢!
【问题讨论】:
标签: sql oracle parameters trace execution-time
调试 SQL 语句性能的最有效方法是获取 SQL Monitor 报告。您可以从 Enterprise Manager (EM) 获得此信息。如果您没有 EM,那么您可以通过 SQLPlus 生成 SQL Monitor 报告:
set trimspool on
set trim on
set pages 0
set linesize 1000
set long 1000000
set longchunksize 1000000
spool sqlmon_active.html
select dbms_sqltune.report_sql_monitor(type=>'active') from dual;
spool off
您可以扩充它以也传递 sqlid。
生成的 html 文件可以在浏览器中查看。
此 html 文件将向您显示大量信息。执行计划、估计和实际基数、绑定变量值、时间分解、等待。等等
如需更多信息(虽然有些过时),请查看:http://www.oracle.com/technetwork/database/manageability/sqlmonitor-084401.html
【讨论】: