首页 > 数据库开发 > PL/SQL Profiler 剖析报告生成html

PL/SQL Profiler 剖析报告生成html

使用图形化界面工具实施PL/SQL Profiler 易用直观,但是并不是所有的环境都可以使用图形界面软件连接到数据库。对于只能在命令行下进行剖析又需要直观呈现剖析结果的情形,Oracle为我们提供了脚本来直接生成html文档。本文即是基于这种情形进行演示并加以说明。

1、实施PL/SQL Profiler步骤
--下面的步骤直接参考了Metalink文档(ID 243755.1)
a、If needed, create the PL/SQL Profiler Tables under your application schema: @?/rdbms/admin/proftab.sql
b、If needed, install the DBMS_PROFILER API, connected as SYS: @?/rdbms/admin/profload.sql
c、Start PL/SQL Profiler in your application: EXEC DBMS_PROFILER.START_PROFILER('optional comment');
d、Execute your transaction to be profiled. Calls to PL/SQL Libraries are expected.
e、Stop PL/SQL Profiler: EXEC DBMS_PROFILER.STOP_PROFILER;
f、Connect as your application user, execute script profiler.sql provided in this document: @profiler.sql
g、Provide to profiler.sql the "runid" out of a displayed list.
h、Review HTML report generated by profiler.sql.

 

2、演示PL/SQL Profiler

[sql][/sql] view plaincopyprint?

  1. --由于我们已经配置好了Profiler,因此下面直接进行剖析
  2. a、开始Profiler
  3. XXX_ADMIN@SYBO2> EXEC DBMS_PROFILER.START_PROFILER('PREPARE TRADE TBL ');
  4. PL/SQL procedure successfully completed.
  5. b、执行需要剖析的过程
  6. XXX_ADMIN@ORAID> DECLARE
  7.   2    TRADE_DATE_IN VARCHAR2(32767);
  8.   3    ERR_NUM NUMBER;
  9.   4    ERR_MSG VARCHAR2(32767);
  10.   5
  11.   6  BEGIN
  12.   7    TRADE_DATE_IN := '20130911';
  13.   8    ERR_NUM := NULL;
  14.   9    ERR_MSG := NULL;
  15.  10
  16.  11    XXX_ADMIN.XXX_GEN_DTL_PKG.PREPARE_TRADE_DTL_TBL ( TRADE_DATE_IN, ERR_NUM, ERR_MSG );
  17.  12    COMMIT;
  18.  13  END;
  19.  14  /
  20. PL/SQL procedure successfully completed.
  21. c、停止profiler
  22. XXX_ADMIN@ORAID> EXEC DBMS_PROFILER.STOP_PROFILER;
  23. PL/SQL procedure successfully completed.
  24. --Author : Leshami
  25. --Blog   : http://blog.csdn.net/leshami
  26. d、生成Profiler报告
  27. XXX_ADMIN@ORAID> @profiler
  28.  RUNID RUN_OWNER                 RUN_DATE        RUN_COMMENT
  29. ------ ------------------------- --------------- ------------------------------
  30.      3 XXX_ADMIN                29-SEP-13 11:53 PREPARE TRADE TBL
  31. Parameter 1:
  32. RUNID (required)
  33. Enter value for 1: 3    --->输入对应的Profiler的运行ID
  34. Value passed:
  35. ~~~~~~~~~~~~
  36. RUNID: "3"
  37. PROFILER file has been created:
  38. profiler_SID_xxxxxdb01uv_10.2.0.3.0_20130929_115525.html.

3、Profiler剖析报告结果样例

 

单击相关的top下对应的id,或者Total Time对应的链接即可跳转到相应的代码部分,如下:

 


本文固定链接: http://www.devba.com/index.php/archives/2989.html | 开发吧

报歉!评论已关闭.