當前位置:編程學習大全網 - 行動軟體 - OraclePLSQLProcedure如何進行性能調優分析

OraclePLSQLProcedure如何進行性能調優分析

在Java的性能調優分析中,可以使用 JProfiler 分析JVM運行時的CPU消耗、Memory占用、Thread情況等信息。對於Java代碼中調用的Ora

在Java的性能調優分析中,可以使用 JProfiler 分析JVM運行時的CPU消耗、Memory占用、Thread情況等信息。對於Java代碼中調用的Oracle的存儲過程、函數它也能輸出調用時間、調用次數等信息,但對於過程、函數內部的性能情況,JProfiler就使不上力了。

在壹次調優實戰中,,我就遇到了上面的情況,存儲過程是性能問題所在,需要調優,這時就要用上 Oracle 提供的 DBMS_PROFILER package了。

1. DBMS_PROFILER 是什麽?能做什麽?

它是 Oracle 提供的壹個用於性能分析的工具包。從Oracle document 網站找的定義大致是說:

此package能收集PLSQL執行時的性能數據,開發人員可以使用這些數據用於程序分析以提高其運行速度。開發人員可以在壹個Session中打開此工具,它會記錄所有的?數據庫對象(function、procedure這樣的PLSQL代碼)?的性能分析數據,?數據?包括每句代碼的運行次數、運行時間、運行平均時間、最長運行時間、最短運行時間等信息。

2. 使用DBMS_PROFILER對PLSQL進行性能分析

用它進行性能分析的過程大概是這樣的:安裝DBMS_PROFILER package --》 初始化記錄表 --》打開分析開關 --》 執行妳的PLSQL --》去分析表裏面找瓶頸所在 --》解決它。

以下詳解:

2.1 啟用DBMS_PROFILER

先查看是否已安裝:

SQL> desc dbms_profiler

如沒有安裝,執行

SQL> @@C:\oracle\product\10.2.0\client_1\RDBMS\ADMIN\profload.sql

重置記錄表,執行

SQL> @@C:\oracle\product\10.2.0\client_1\RDBMS\ADMIN\proftab.sql

2.2 執行妳的PLSQL

beginDBMS_PROFILER.START_PROFILER ('My Test?);--PLSQL 放在這裏DBMS_PROFILER.STOP_PROFILER;end;

此段程序會先打開profiler 的設置,然後執行待測試的代碼,最後再關閉profiler。這是壹個典型的應用,DBMS_PROFILER也支持?暫停?,?恢復?的操作:

DBMS_PROFILER.PAUSE_PROFILER ,DBMS_PROFILER.RESUME_PROFILER

然後就跑下這段代碼,接下來就可以看分析數據了。

2.3查看分析數據

性能數據會被記錄在下面的三張表裏:

select * from PLSQL_PROFILER_RUNS ;select * from PLSQL_PROFILER_UNITS ;select * from PLSQL_PROFILER_DATA;

相關閱讀:

Oracle 10g 安裝後重啟系統,用PLSQL連接報沒有監聽

ORA-03114 PLSQL過程編譯斷開連接錯誤

PLSQL 連接 Oracle簡單配置

PLSQL批量Forall操作性能提升詳解

使用Oracle SQLDeveloper連接數據庫並創建用戶

Oracle自帶的PL/SQL Developer導入導出數據

在64位Win7系統下安裝Oracle 11g和Oracle SQL Developer客戶端

  • 上一篇:《啟航》杜莎莎扮演者是誰?
  • 下一篇:哈哈拼車的4:使用說明
  • copyright 2024編程學習大全網