久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫中使用DBMS_PROFILER進行調優

瀏覽:161日期:2023-11-28 14:25:14
在進行數據庫調優時,代碼的性能瓶頸至關重要,Oracle數據庫提供的DBMS_PROFILER包可以特別方便的發現瓶頸的所在之處。

DBMS_PROFILER在使用之前可能需要安裝,具體安裝步驟如下:

◆1:執行$ORACLE_HOME/rdbms/admin/profload.sql

◆2:創建一個用于存放跟蹤信息的schema

CREATE USER profiler IDENTIFIED BY profiler DEFAULT TABLESPACE users QUOTA UNLIMITED ON users;

GRANT connect TO profiler;

CREATE PUBLIC SYNONYM plsql_profiler_runs FOR profiler.plsql_profiler_runs;

CREATE PUBLIC SYNONYM plsql_profiler_units FOR profiler.plsql_profiler_units;

CREATE PUBLIC SYNONYM plsql_profiler_data FOR profiler.plsql_profiler_data;

CREATE PUBLIC SYNONYM plsql_profiler_runnumber FOR profiler.plsql_profiler_runnumber;

◆3:使用剛剛創建的profiler用戶執行如下腳本或代碼:

$ORACLE_HOME/rdbms/admin/proftab.sql

GRANT SELECT ON plsql_profiler_runnumber TO PUBLIC;

GRANT SELECT, INSERT, UPDATE, DELETE ON plsql_profiler_data TO PUBLIC;

GRANT SELECT, INSERT, UPDATE, DELETE ON plsql_profiler_units TO PUBLIC;

GRANT SELECT, INSERT, UPDATE, DELETE ON plsql_profiler_runs TO PUBLIC;

安裝成功后測試:

執行

BEGIN

DBMS_PROFILER.START_PROFILER('123');

FOR I IN 1 .. 1000 LOOP

INSERT INTO A VALUES (I || '');

END LOOP;

COMMIT;

DBMS_PROFILER.STOP_PROFILER();

END;

執行后使用下面的代碼檢查:

SELECT C.LINE#, C.TOTAL_OCCUR, C.TOTAL_TIME, C.MIN_TIME, C.MAX_TIME

FROM PLSQL_PROFILER_RUNS A, PLSQL_PROFILER_UNITS B, PLSQL_PROFILER_DATA C

WHERE A.RUN_COMMENT = '123'

AND B.UNIT_OWNER = ''

AND A.RUNID = B.RUNID

AND A.RUNID = C.RUNID

AND B.UNIT_NUMBER = C.UNIT_NUMBER

注意:每次DBMS_PROFILER.START_PROFILER的輸入參數需要改變,否則便不能分別運行后的運行結果了。

除此之外B.UNIT_OWNER =‘’中的約束值如果是在package里面需要是包名,如果是procedure則是procedure的名字。實在在不知道什么名字時可以在PLSQL_PROFILER_UNITS中查一下。

此外,運行結果可以通過PLSQL Developer來觀察,需要新建一個test,在profiler中可以查看它的運行結果,示例如下:

Oracle數據庫中使用DBMS_PROFILER進行調優

標簽: Oracle 數據庫
主站蜘蛛池模板: 萝北县| 综艺| 汤原县| 漠河县| 石首市| 车致| 卢氏县| 菏泽市| 阿拉善左旗| 和静县| 凤凰县| 洞口县| 清徐县| 铜川市| 马鞍山市| 乌拉特前旗| 焉耆| 苍梧县| 始兴县| 奎屯市| 来安县| 镇巴县| 葫芦岛市| 炉霍县| 澄城县| 女性| 黄陵县| 迁西县| 突泉县| 泽州县| 青冈县| 收藏| 温泉县| 台江县| 永州市| 弋阳县| 昔阳县| 通江县| 乡宁县| 镇平县| 离岛区|