1、以sysdba用户sys运行profload脚本。
该脚本位于@?/rdbms/admin/profload.sql
该脚本位于@?/rdbms/admin/profload.sql
2、在需要进行存储过程性能测试的用户下运行proftab脚本,创建三个必须的表:
PLSQL_PROFILER_DATA
PLSQL_PROFILER_RUNS
PLSQL_PROFILER_UNITS
PLSQL_PROFILER_DATA
PLSQL_PROFILER_RUNS
PLSQL_PROFILER_UNITS
该脚本位于@?/plsql/demo/proftab.sql
3、在需要进行存储过程性能测试的用户下运行profrep脚本,创建报表所需的视图:
PLSQL_PROFILER_GRAND_TOTAL
PLSQL_PROFILER_LINES_CROSS_RUN
PLSQL_PROFILER_NOTEXEC_LINES
PLSQL_PROFILER_UNITS_CROSS_RUN
PLSQL_PROFILER_GRAND_TOTAL
PLSQL_PROFILER_LINES_CROSS_RUN
PLSQL_PROFILER_NOTEXEC_LINES
PLSQL_PROFILER_UNITS_CROSS_RUN
该脚本位于@?/plsql/demo/profrep.sql
4、运行一下脚本:
SQL> set line 5000 serveroutput on size 1000000
SQL> declare
2 v_run number;
3 begin
4 dbms_profiler.start_profiler(run_number=>v_run);
5 test1;----存储过程1
6 dbms_profiler.stop_profiler;
7 dbms_profiler.start_profiler(run_number=>v_run);
8 test2;----存储过程2
9 dbms_profiler.stop_profiler;
10 end;
11 /
SQL> declare
2 v_run number;
3 begin
4 dbms_profiler.start_profiler(run_number=>v_run);
5 test1;----存储过程1
6 dbms_profiler.stop_profiler;
7 dbms_profiler.start_profiler(run_number=>v_run);
8 test2;----存储过程2
9 dbms_profiler.stop_profiler;
10 end;
11 /
5、运行profsum脚本,得到分析结果报告。
该脚本位于@?/plsql/demo/profsum.sql
注意:不要在sys模式下创建那些表和视图。最好在需要测试的用户下。