国产探花免费观看_亚洲丰满少妇自慰呻吟_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中可以查看它的運行結果,示例如下:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 方城县| 佛冈县| 饶阳县| 丰台区| 双辽市| 民权县| 海南省| 隆昌县| 兰溪市| 墨竹工卡县| 中山市| 莱州市| 德惠市| 宜兰市| 寻乌县| 平舆县| 宜宾市| 宜都市| 大洼县| 剑川县| 英吉沙县| 临夏县| 屯昌县| 左权县| 桦南县| 调兵山市| 沙湾县| 青田县| 会东县| 阳泉市| 房产| 出国| 开阳县| 茌平县| 岳普湖县| 南华县| 南城县| 平遥县| 镇平县| 柳州市| 石家庄市|