当前位置:首页 > 芯闻号 > 充电吧
[导读]摘要... 2 PL/SQL性能优化工具profiler的部署和使用... 2 产品名称,产品版本... 2 适用平台... 2 创建及维护日期... 2 引言... 2 执行环境:... 2 访问权

摘要... 2

PL/SQL性能优化工具profiler的部署和使用... 2

产品名称,产品版本... 2

适用平台... 2

创建及维护日期... 2

引言... 2

执行环境:... 2

访问权限:... 3

用法... 3

简介... 3

描述... 3

先决条件... 3

附录1 调用范例... 4

测试过程创建... 4

调用过程脚本... 5

结果分析... 5

profiler.sql - PL/SQL Profiler (MetaLink Note:243755.1) 5

Profiled Run 3 (plsql_profiler_runs) 5

Profiled PL/SQL Libraries (plsql_profiler_units) 5

Top 10 profiled source lines in terms of Total Time (plsql_profiler_data) 5

Unit:2 DRP.SP_PROCESS_GATHER_JAX1 (all_source) 6


摘要 PL/SQL性能优化工具profiler的部署和使用

当用户等待时间与SQL进程消耗的时间有较大差距,并且这个过程中有PL/SQL脚本的参与,这时,PL/SQL的事件探查器profiler将能在很大程度上给你提供帮助。她能帮助DBA识别出那些耗时较长的sql语句。

比如,一个使用PL/SQL对象(包,过程,函数,触发器)的事务执行了超过1个小时,但10046和tkprof的跟踪分析结果只检测出10分钟的sql执行时间。这种情况下通过使用pl/sql事件探查器profiler,将能提供一个逐行解析的pl/sql程序脚本报告,给出每行程序的具体执行时间信息。

实际的PL/SQL事件探查器是随着RDBMS核心代码一起提供的,这些都可以通过oracle提供的PL/SQL包的类型参考手册上查询得到。事件探查器的包名称为DBMS_PROFILER。

本文主要介绍PL/SQL profiler在8i或者更高版本上的安装及用法。主要是为了提供对plsql程序对象的性能调试。本文主要适用于oracle的8i或者更高版本,但她的使用并不仅仅只限于oracle。

本文描述的主要数据库脚本(profiler.sql)将提供一个由dbms_profiler包提取的完整的性能报告。

产品名称,产品版本

本文涉及的profiler.sql和profgsrc.sql只能使用在oracle 8i及更高的oracle数据库实例上,包括oracle 10g和oracle11g。

适用平台

与平台无关。

创建及维护日期

创建时间:2003-07-14

创建人:carlos Sierra

最后修改时间:2008-04-29

引言 执行环境:

SQL * PLUS

访问权限:

需要SQL* PLUS用户和密码,如果使用的是oracle应用数据库,那么使用APPS连接,否则使用主程序用户和密码。

用法

$ sqlplus APPS/

SQL > @profiler.sql

这里的run_id是第一次安装dbms_profile包时的返回值。

如果不知道run_id,那么执行无参数的@profiler,脚本将会返回一个run_id列表。

简介

要安装DBMS_PROFILER和生成PL/SQL事件探查器数据,请先阅读下面一节的先决条件。

一旦为某个pl/sql程序对象执行了dbms_profiler.start_profiler和dbms_profiler.stop_profiler,之后就可以执行profler.sql脚本产生一个HTML类型的完整报告,报告中将会标示跟踪期间耗时较长的sql脚本。她也会表明脚本执行的次数。详细可以参考prof.zip中的示例。

DBA可以使用profiler.sql生成的HTML来调试执行期间最为耗时的plsql脚本。

描述 先决条件

1,如果是第一次使用,则需要先行判断dbms_profiler是否已经安装了。

$ sqlplus APPS/

SQL> DESC DBMS_PROFILER;

如果DBMS_PROFILER没有安装,使用sys用户连接数据库服务器,并执行下面的脚本来创建对应的程序包。

$ sqlplus sys/ as sysdba

SQL> @$ORACLE_HOME/rdbms/admin/profload.sql

2,如果是第一次使用,在安装完dbms_profiler之后,使用应用程序用户登录sql plus,运行$ORACLE_HOME/rdbms/admin目录下的proftab.sql脚本,创建相关的数据表如plsql_profiler_runs,plsql_profiler_units,plsql_profiler_data。

$ sqlplus apps/

SQL> @proftab.sql

3,由于本文档描述的主要脚本profiler.sql的产生依靠dbms_profiler的支持,所以在运行下面的脚本对数据库对象执行跟踪前腰确认已经安装了对应的程序包。

下面脚本的主要功能是开启和关闭事件探查功能,可以放置到任何plsql脚本块之中。

Begin

  Dbms_profiler.start_profiler(‘any comment to identify this execution’);

  …

  Dbms_profiler.stop_profiler;

 

Exception

   …

End;

4,为了要修改plsql库的脚本,dba首先要找到他的定义脚本,备份他,然后执行修改将dbms_profiler的start和stop调用加入其中。

如果无法找到package,procedure,function和trigger等对象的调用,可以使用profgsrc.sql获得定义的脚本,过程调用时需要传入plsql库的对象名称。

$ sqlplus apps/

SQL> start profgsrc.sql ;

上面的脚本将访问user_source并获得对象的定义脚本,生成的脚本存放到一个sql类型文件中。

5,一旦将包含start和stop过程的脚本重新编译后,可以执行它来完成对脚本的跟踪。每次执行将会产生一个新的run_id,这个run_id就是后面生成报告的profiler.sql的参数。

 

附录1 调用范例 测试过程创建

create or replace procedure sp_process_gather_jax1
 is
 temp_str varchar2(100);
begin
   select count(*)
    into temp_str
    from gather_header gh;   
    select max(table_name)
    into temp_str
    from dba_tables dt;
exception 
   when others then
      null;
end sp_process_gather_jax1;

调用过程脚本

declare
  a_str varchar2(20);
begin
  dbms_profiler.start_profiler('this is the first execution of dbms_profiler.');
  -- Call the procedure
  sp_process_gather_jax1;
  dbms_profiler.stop_profiler;
  dbms_output.put_line(a_str);
end;

结果分析 profiler.sql - PL/SQL Profiler (MetaLink Note:243755.1) Profiled Run 3 (plsql_profiler_runs)

Run

Date

Total Time1

Comment

3

10-AUG-10 10:40:17

17.05

this is the first execution of dbms_profiler.

Note 1: Total Time is in seconds

Profiled PL/SQL Libraries (plsql_profiler_units)

Unit

Owner

Name

Type

Timestamp

Total Time1

Text Header

2

DRP

SP_PROCESS_GATHER_JAX1

PROCEDURE

10-AUG-10 10:40:09

17.04

 

Note 1: Total Time is in seconds

Top 10 profiled source lines in terms of Total Time (plsql_profiler_data)

Top

Total Time1

Times Executed

Min Time2

Max Time2

Unit

Owner

Name

Type

Line

Text

1

16.66

1

16.66

16.66

2

DRP

SP_PROCESS_GATHER_JAX1

PROCEDURE

13

select count(*)

2

0.38

1

0.38

0.38

2

DRP

SP_PROCESS_GATHER_JAX1

PROCEDURE

17

select max(table_name)

Note 1: Total Time is in seconds
Note 2: Min and Max Time for one execution of this line (in seconds)

Unit:2 DRP.SP_PROCESS_GATHER_JAX1 (all_source)

Line

Total Time1

Times Executed

Text

1

 

 

procedure sp_process_gather_jax1

2

 

 

 is

3

 

 

 temp_str varchar2(100);

4

 

 

begin

5

 

 

/*

6

 

 

create by jaxzhang 2010.08.06

7

 

 

1, 跟踪性能:10046 & prof

8

 

 

2,逻辑审核:人

9

 

 

*/

10

 

 

-- add by jaxzhang 20100810 事件探查器的

11

 

 

 -- dbms_profiler.start_profiler;

12

 

 

   

13T1

16.66

1

   select count(*)

14

 

 

    into temp_str

15

 

 

    from gather_header gh;

16

 

 

    

17T2

0.38

1

    select max(table_name)

18

 

 

    into temp_str

19

 

 

    from dba_tables dt;

20

 

 

  

21

 

 

-- add by jaxzhang 20100810 关闭事件探查

22

 

 

 -- dbms_profiler.stop_profiler;

23

 

 

  

24

 

 

 -- rollback;

25

 

 

 

26

 

 

exception

27

 

 

   when others then

28

 

 

      null;

29

0.00

1

end sp_process_gather_jax1;

Note 1: Total Time is in seconds
Note Tn: Top "n" Line in terms of Total Time

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭