dbms_profile工具的使用

1,工具的主要用途
当SQL processing excute time 有很大差别,且涉及到大量PL/SQL 代码时,就可以使用PL/SQL Profiler 工具,其可以指明行级PL/SQL 的时间。
2,安装工具
  1)检查DBMS_PROFILER 包是否安装
     #sqlplus dbmgr/<pwd> --注意用户
     SQL> DESC DBMS_PROFILER;
  2)如果没有安装包,则安装DBMS_PROFILER包
     使用SYS 用来执行如下命令来安装该包。
     #sqlplus SYS/<pwd> --注意用户
     SQL> START ?/rdbms/admin/profload.sql;
  3)创建存放统计数据的表
     PLSQL_PROFILER_RUNS,PLSQL_PROFILER_UNITS and PLSQL_PROFILER_DATA。 该脚本在PROF 包里有,$ORACLE_HOME/rdbms/admin目录下也有。
     #sqlplus dbmgr/<pwd> --注意用户
     SQL> start ?/rdbms/admin/proftab.sql
          drop table plsql_profiler_data cascadeconstraints
          *
          ERROR at line 1:
          ORA-00942: table or view does not exist
          drop table plsql_profiler_units cascadeconstraints
          *
          ERROR at line 1:
          ORA-00942: table or view does not exist
          drop table plsql_profiler_runs cascadeconstraints
          *
          ERROR at line 1:
          ORA-00942: table or view does not exist
          drop sequence plsql_profiler_runnumber
          *
          ERROR at line 1:
          ORA-02289: sequence does not exist
          Table created.
          Comment created.
          Table created.
          Comment created.
          Table created.
          Comment created.
          Sequence created.
3,执行对应的过程
declare
  -- Local variables here
  i integer;
begin
  -- Test statements here
  DBMS_PROFILER.START_PROFILER('Xionglang lugz0 PL/SQL Profiler');--开始的标记
  Pos1_package.update_h11;--执行的过程
  DBMS_PROFILER.STOP_PROFILER;--结束
end;
/

4,用profiler.sql格式化输出
sqlplus dbmgr/<pwd>
SQL> @?/rdbms/admin/profiler.sql

    RUNID RUN_DATE             RUN_COMMENT

---------- -----------------------------------------------------

        1 2013/7/30 11:12:37    Xionglang lugz0 PL/SQL Profiler


--这里这里的RUN_COMMENT内容,其在DBMS_PROFILER.START_PROFILER 中指定,主要用来辨别我们的RUNID.

Usage:
sqlplus apps/<pwd>
SQL> START profiler.sql <runid>
Enter value for 1: 1
SQL>

5,然后在$ORACLE_HOME/rdbms/admin/profiler_1.html

你可能感兴趣的:(dbms_profile工具的使用)