日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle dbms_profiler,Oracle数据库中使用DBMS_PROFILER进行调优

發布時間:2023/12/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle dbms_profiler,Oracle数据库中使用DBMS_PROFILER进行调优 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在進行數據庫調優時,代碼的性能瓶頸至關重要,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数据库中使用DBMS_PROFILER进行调优的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。