PL/SQL Profiler 剖析报告生成html

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

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

 

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

--由于我们已经配置好了Profiler,因此下面直接进行剖析
a、开始Profiler
XXX_ADMIN@SYBO2> EXEC DBMS_PROFILER.START_PROFILER('PREPARE TRADE TBL ');

PL/SQL procedure successfully completed.


b、执行需要剖析的过程
XXX_ADMIN@ORAID> DECLARE 
  2    TRADE_DATE_IN VARCHAR2(32767);
  3    ERR_NUM NUMBER;
  4    ERR_MSG VARCHAR2(32767);
  5  
  6  BEGIN 
  7    TRADE_DATE_IN := '20130911';
  8    ERR_NUM := NULL;
  9    ERR_MSG := NULL;
 10  
 11    XXX_ADMIN.XXX_GEN_DTL_PKG.PREPARE_TRADE_DTL_TBL ( TRADE_DATE_IN, ERR_NUM, ERR_MSG );
 12    COMMIT; 
 13  END; 
 14  /

PL/SQL procedure successfully completed.


c、停止profiler
XXX_ADMIN@ORAID> EXEC DBMS_PROFILER.STOP_PROFILER;

PL/SQL procedure successfully completed.

--Author : Leshami
--Blog   : http://blog.csdn.net/leshami


d、生成Profiler报告
XXX_ADMIN@ORAID> @profiler

 RUNID RUN_OWNER                 RUN_DATE        RUN_COMMENT
------ ------------------------- --------------- ------------------------------
     3 XXX_ADMIN                29-SEP-13 11:53 PREPARE TRADE TBL


Parameter 1:
RUNID (required)

Enter value for 1: 3    --->输入对应的Profiler的运行ID

Value passed:
~~~~~~~~~~~~
RUNID: "3"

PROFILER file has been created:
profiler_SID_xxxxxdb01uv_10.2.0.3.0_20130929_115525.html.


3、Profiler剖析报告结果样例

   

 

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

 

   

 

Oracle 牛鹏社    Oracle DBsupport

更多参考

使用 DBMS_PROFILER 定位 PL/SQL 瓶颈代码

对比 PL/SQL profiler 剖析结果

DML Error Logging 特性 

PL/SQL --> 游标

PL/SQL --> 隐式游标(SQL%FOUND)

批量SQL之 FORALL 语句

批量SQL之 BULK COLLECT 子句

PL/SQL 集合的初始化与赋值

PL/SQL 联合数组与嵌套表
PL/SQL 变长数组
PL/SQL --> PL/SQL记录

SQL tuning 步骤

高效SQL语句必杀技

父游标、子游标及共享游标

绑定变量及其优缺点

dbms_xplan之display_cursor函数的使用

dbms_xplan之display函数的使用

执行计划中各字段各模块描述

使用 EXPLAIN PLAN 获取SQL语句执行计划

目录
相关文章
|
2月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
40 2
|
3月前
|
SQL 存储 移动开发
HTML5 Web SQL 数据库详解
Web SQL 数据库是 HTML5 中的一种本地存储技术,允许在浏览器中使用 SQL 语言操作本地数据,支持离线访问和事务处理,适用于缓存数据和小型应用。然而,其存储容量有限且仅部分现代浏览器支持,标准已不再积极维护,未来可能被 IndexedDB 和 localStorage 等技术取代。使用时需谨慎考虑兼容性和发展前景。
|
5月前
|
SQL 存储 监控
|
5月前
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
105 0
|
7月前
|
SQL 数据库 Perl
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
PL/SQL中执行按钮变为灰色后如何恢复【已解决】
560 0
|
8月前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标自定义异常:数据探险家的“专属警示灯”
【4月更文挑战第19天】Oracle PL/SQL中的游标自定义异常是处理数据异常的有效工具,犹如数据探险家的警示灯。通过声明异常名(如`LOW_SALARY_EXCEPTION`)并在满足特定条件(如薪资低于阈值)时使用`RAISE`抛出异常,能灵活应对复杂业务规则。示例代码展示了如何在游标操作中定义和捕获自定义异常,提升代码可读性和维护性,确保在面对数据挑战时能及时响应。掌握自定义异常,让数据管理更从容。
|
8月前
|
SQL Oracle 安全
Oracle的PL/SQL游标异常处理:从“惊涛骇浪”到“风平浪静”
【4月更文挑战第19天】Oracle PL/SQL游标异常处理确保了在数据操作中遇到的问题得以优雅解决,如`NO_DATA_FOUND`或`TOO_MANY_ROWS`等异常。通过使用`EXCEPTION`块捕获并处理这些异常,开发者可以防止程序因游标问题而崩溃。例如,当查询无结果时,可以显示定制的错误信息而不是让程序终止。掌握游标异常处理是成为娴熟的Oracle数据管理员的关键,能保证在复杂的数据环境中稳健运行。
|
8月前
|
SQL Oracle 安全
Oracle的PL/SQL异常处理方法:守护数据之旅的“魔法盾”
【4月更文挑战第19天】Oracle PL/SQL的异常处理机制是保障数据安全的关键。通过预定义异常(如`NO_DATA_FOUND`)和自定义异常,开发者能优雅地管理错误。异常在子程序中抛出后会向上传播,直到被捕获,提供了一种集中处理错误的方式。理解和善用异常处理,如同手持“魔法盾”,确保程序在面对如除数为零、违反约束等挑战时,能有效保护数据的完整性和程序的稳定性。
|
SQL Web App开发 监控
sql嵌入html格式显示报表
在使用监控系统报警的时候,如果显示的报警信息为纯粹的文本,会枯燥很多,而且看起来很不清晰。 比如我们要监控表空间的使用情况,输出列有表空间名,状态,区管理方式,总共的空间,使用的空间,剩余的空间等。
717 0
下一篇
开通oss服务