共计 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 行业资讯频道。