共計 1277 個字符,預計需要花費 4 分鐘才能閱讀完成。
本篇文章為大家展示了如何分析 ASM 中的 Extent,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
ASM 中分配空間的單位是 AU,Extent 包含 1 個或多個 AU。
在 11g 之前,1 個 Extent 對應 1 個 AU。而從 11.1.0 開始,Oracle 引入了 Variable Sized Extents,ASM 會根據文件的大小,自動決定 Extent 的大小,具體算法如下:
1、AU 小于 4MB 的:
頭 20000 個 Extent(0-19999,20GB),Extent 大小 =1*AU
之后的 20000 個 Extent(20000-39999,20GB-40GB),Extent 大小 =4*AU
再往后的 Extent(40000+,40GB 以上),Extent 大小 =16*AU
2、AU 大于等于 4MB 的,并且 RDBMS compatible 為 11.2.0.4 及以上的,ASM 會根據 Application Block Size 來計算 Extent 的大小
通過引入 Variable Sized Extents,可以減少 SGA 的內存,并且提升性能。
我們來看看現實環境中 Extent 分配情況:
1、小數據文件
FILE_NAME SIZE(MB)
————————————————————————— ———-
+DATA01/HERA/DATAFILE/system.258.940635333 790
該數據文件只有 790MB,按上述的分配規則,該數據文件的 Extent=1*AU
09:31:28 nolog select distinct size_kffxp from x$kffxp where number_kffxp = 258;
SIZE_KFFXP
———-
1
上述信息顯示,確實只有 1AU 這么一種情況。
2、較大的數據文件
FILE_NAME SIZE(MB)
————————————————————————— ———-
+DATA01/HERA/DATAFILE/test.363.941274405 24576
該數據文件為 24G,按上述的分配規則,該數據文件的 Extent 有兩種情形:1AU 和 4AU
09:03:51 nolog select distinct size_kffxp from x$kffxp where number_kffxp = 363;
SIZE_KFFXP
———-
1
4
上述內容就是如何分析 ASM 中的 Extent,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。