国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:52:41
字體:
來源:轉載
供稿:網友
在進行數據庫調優時,代碼的性能瓶頸至關重要,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中可以查看它的運行結果,示例如下:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沧州市| 灵川县| 锡林浩特市| 兴安盟| 祁阳县| 遵义市| 象州县| 海宁市| 额尔古纳市| 汝城县| 灌云县| 永靖县| 石棉县| 武川县| 中方县| 天气| 新民市| 眉山市| 南郑县| 河西区| 南汇区| 扎赉特旗| 长兴县| 霍州市| 垣曲县| 新闻| 汉中市| 萨嘎县| 福州市| 万全县| 修文县| 蒲城县| 平武县| 辽中县| 和龙市| 江安县| 鲁山县| 灵宝市| 陇南市| 盘锦市| 神农架林区|