zoukankan      html  css  js  c++  java
  • 理解ASM的Extent

     

    分类: Oracle

    2017-04-14 10:19:44

     
    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

    上述信息显示,实际分配情况是符合分配规则的。
  • 相关阅读:
    Yii2中如何使用CodeCeption
    切换composer国内镜像 Laravel China停用,切换阿里云composer全量镜像
    mysql 不同库不同表字段数据复制
    DataGridView绑定数据库,取得的数据插入到DataGridView指定列(一)
    Winform在一个窗体获取其他窗体的值
    winform按钮和子按钮
    C#生成唯一的ID保存到数据库
    C#Winform从页面获取数据,传入数据库
    C#winform省市县联动,以及有的县是空值时显示异常的处理
    VS2010连接SQLite数据库
  • 原文地址:https://www.cnblogs.com/youngerger/p/8996846.html
Copyright © 2011-2022 走看看