久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么理解I/O性能

180次閱讀
沒有評論

共計 4585 個字符,預計需要花費 12 分鐘才能閱讀完成。

本篇內容主要講解“怎么理解 I / O 性能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“怎么理解 I / O 性能”吧!

為了理解 I / O 性能,你必須要詳細了解存儲文件的存儲層次信息。Oracle 提供了一組動態性能視國來顯示文件到邏輯卷中間層到實際的物理設備之間的映射信息。使用這些動態性能視圖,可以找到一個文件的任何數據塊所內置的實際物理磁盤。Oracle 數據庫使用一個名叫 FMON 的后臺進程來管理映射信息。Oracle 提供了 PL/SQL dbms_storage_map 包來將映射操作填充到映射視圖中。Oracle 數據庫文件映射當映射 Oracle ASM 文件時不需要使用第三方的動態庫。另外,Oracle 數據庫支持在所有操作系統平臺上對 Oracle ASM 文件的映射。

對 Oracle ASM 文件啟用文件映射
為了啟用文件映射,需要將參數 file_mapping 設置為 true。數據庫實例不必關閉來設置這個參數。可以使用以下 alter system 語句來設置這個參數:

SQL  alter system set file_mapping=true scope=both sid= * 
System altered.

執行合適的 dbms_storage_map 映射過程
. 在冷啟動情況下,Oracle 數據庫在剛剛啟動時沒有映射操作被調用。可以執行 dbms_storage_map.map_all 過程來為數據庫相關的整個 I / O 子系統來構建映射信息。例如,下面的命令構建映射信息并且提供 10000 事件:

SQL  execute dbms_storage_map.map_all(10000);
PL/SQL procedure successfully completed.

. 在暖啟動情況下,Oracle 數據庫已經構建了映射信息,可以選擇執行 dbms_storage_map.map_save 過程來將映射信息保存在數據字典中。缺省情況下這個過程將被 dbms_storage_map.map_all 過程調用,這將強制 SGA 中的所有映射信息被刷新到磁盤。缺省情況下 dbms_storage_map.map_save 過程將被 dbms_storage_map.map_all()。在重啟數據庫后,使用 dbms_storage_map.restore()過程來還原映射信息到 SGA 中。如果需要,dbms_storage_map.map_all()可以用來刷新映射信息。

由 dbms_storage_map 包生成的映射信息會被捕獲到動態性能視圖中。這些視圖包括 v$map_comp_list,v$map_element,v$map_ext_element,v$map_file,v$map_file_extent,v$map_file_io_stack,v$map_library 與 v$map_subelement。
可以使用 v$map_file 來查詢文件映射信息:

SQL  select file_map_idx, substr(file_name,1,45), file_type, file_structure from v$map_file;
FILE_MAP_IDX SUBSTR(FILE_NAME,1,45) FILE_TYPE FILE_STRU
------------ ------------------------------------------------------------------------------------------ ----------- ---------
 0 +DATA/CS/DATAFILE/system.272.970601831 DATAFILE ASMFILE
 1 +DATA/CS/DATAFILE/sysaux.273.970601881 DATAFILE ASMFILE
 2 +DATA/CS/DATAFILE/undotbs1.274.970601905 DATAFILE ASMFILE
 3 +DATA/CS/4700A987085B3DFAE05387E5E50A8C7B/DAT DATAFILE ASMFILE
 4 +DATA/CS/4700A987085B3DFAE05387E5E50A8C7B/DAT DATAFILE ASMFILE
 5 +DATA/CS/DATAFILE/users.275.970601909 DATAFILE ASMFILE
 6 +DATA/CS/4700A987085B3DFAE05387E5E50A8C7B/DAT DATAFILE ASMFILE
 7 +DATA/CS/DATAFILE/undotbs2.284.970602381 DATAFILE ASMFILE
 8 +DATA/CS/DATAFILE/test.326.976211663 DATAFILE ASMFILE
 9 +DATA/CS/DATAFILE/jy.331.976296525 DATAFILE ASMFILE
 10 +DATA/CS/6C61AD7B443C2CD2E053BE828A0A2A74/DAT DATAFILE ASMFILE
 11 +DATA/CS/6C61AD7B443C2CD2E053BE828A0A2A74/DAT DATAFILE ASMFILE
 12 +DATA/CS/6C61AD7B443C2CD2E053BE828A0A2A74/DAT DATAFILE ASMFILE
 13 +DATA/CS/ONLINELOG/group_2.277.970601985 LOGFILE ASMFILE
 14 +DATA/CS/ONLINELOG/group_1.278.970601985 LOGFILE ASMFILE
 15 +DATA/CS/ONLINELOG/group_3.285.970602759 LOGFILE ASMFILE
 16 +DATA/CS/ONLINELOG/group_4.286.970602761 LOGFILE ASMFILE
 17 +DATA/CS/ONLINELOG/redo05.log LOGFILE ASMFILE
 18 +DATA/CS/ONLINELOG/redo06.log LOGFILE ASMFILE
 19 +DATA/CS/ONLINELOG/redo07.log LOGFILE ASMFILE
 20 +DATA/CS/ONLINELOG/redo08.log LOGFILE ASMFILE
 21 +DATA/CS/ONLINELOG/redo09.log LOGFILE ASMFILE
 22 +DATA/CS/ONLINELOG/redo10.log LOGFILE ASMFILE
 23 +DATA/CS/TEMPFILE/temp.279.970602003 TEMPFILE ASMFILE
 24 +DATA/CS/67369AA1C9AA3E71E053BE828A0A8262/TEM TEMPFILE ASMFILE
 25 +DATA/CS/6C61AD7B443C2CD2E053BE828A0A2A74/TEM TEMPFILE ASMFILE
 26 +DATA/arch/1_222_970601983.dbf ARCHIVEFILE ASMFILE
 27 +DATA/arch/1_223_970601983.dbf ARCHIVEFILE ASMFILE
 28 +DATA/arch/2_277_970601983.dbf ARCHIVEFILE ASMFILE
 29 +DATA/arch/2_278_970601983.dbf ARCHIVEFILE ASMFILE
 30 +DATA/arch/2_279_970601983.dbf ARCHIVEFILE ASMFILE
 31 +DATA/CS/CONTROLFILE/current.276.970601979 CONTROLFILE ASMFILE
31 rows selected.

可以使用 dbms_storage_map PL/SQL 包中的過程來控制映射操作。例如,可以使用 dbms_storage_map.map_object 過程通過指定對象名,所有者與類型來對數據庫對象來構建映射信息。在 dbms_storage_map.map_object 過程運行之后,那么可以通過查詢 map_object 視圖來查詢映射信息

SQL  execute dbms_storage_map.map_object( T1 , C##TEST , TABLE 
PL/SQL procedure successfully completed.
SQL  select io.object_name o_name, io.object_owner o_owner, io.object_type o_type,
 2 mf.file_name, me.elem_name, io.depth,
 3 (sum(io.cu_size * (io.num_cu - decode(io.parity_period, 0, 0,
 4 trunc(io.num_cu / io.parity_period)))) / 2) o_size
 5 from map_object io, v$map_element me, v$map_file mf
 6 where io.object_name =  T1 
 7 and io.object_owner =  C##TEST 
and io.object_type =  TABLE 
 8 9 and me.elem_idx = io.elem_idx
 10 and mf.file_map_idx = io.file_map_idx
 11 group by io.elem_idx, io.file_map_idx, me.elem_name, mf.file_name, io.depth,
 12 io.object_name, io.object_owner, io.object_type
 13 order by io.depth;
O_NAME O_OWNER O_TYP FILE_NAME ELEM_NAME DEPTH O_SIZE
-------------------- -------------------- ----- -------------------------------------------------- -------------------- ---------- ----------
T1 C##TEST TABLE +DATA/CS/DATAFILE/users.275.970601909 +/dev/asmdisk04 0 64

到此,相信大家對“怎么理解 I / O 性能”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-20發表,共計4585字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 滁州市| 绿春县| 沁水县| 汤阴县| 铜山县| 庆元县| 龙江县| 巴林右旗| 天柱县| 宝应县| 墨玉县| 忻州市| 梅河口市| 古浪县| 蕉岭县| 台江县| 安庆市| 黑河市| 尚志市| 乌苏市| 新乐市| 博湖县| 大兴区| 丹寨县| 南京市| 岳阳市| 诸城市| 永兴县| 乌兰县| 景德镇市| 垣曲县| 大厂| 潼关县| 南平市| 永靖县| 玛曲县| 巢湖市| 张家口市| 雷波县| 化德县| 察哈|