理解ASM的Extent

理解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

上述信息显示,实际分配情况是符合分配规则的。

原文地址:https://www.cnblogs.com/youngerger/p/8996846.html

时间: 2024-10-21 20:51:57

理解ASM的Extent的相关文章

对ASM存储管理的一些初步理解记录

ASM:Automatic Storage Management,是ORACEL10G以后为了简化存储管理的复杂性,也是为了摆脱对其他厂商的依赖而推出的.ASM作为目前ORACLE推荐的首选存储方案,除了具有集群文件系统的功能外,同时还集成了冗余.IO分散等卷管理器的功能.我们可以通过两种方式使用ASM,包括建立在裸设备上,如果安装了ASMLib,也可以建立的块设备上. 使用ASM需要从ORACLE官方网站下载ASM驱动包,一般包括了ASM和ASMLib两部分,需要注意ASM和ASMLib是两部

[转载] 深入了解Java ClassLoader、Bytecode 、ASM、cglib

转载自http://www.iteye.com/topic/98178 一.Java ClassLoader 1,什么是ClassLoader 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类. 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存.ClassLoader 是 JVM 中将类装入内存的那部分. 而且,Java ClassLoader 就是用 Java 语言编写的.这意味着创建您自己的

ORACLE AUTOMATIC STORAGE MANAGEMENT翻译-第十章ASM内置数据结构(2)

Free SpaceTable(FST) FST指明了ATB中包含的空闲空间.当磁盘被选择分配时ASM会生成一个磁盘FST.这个允许ASM跳过被ATBs占用的空间.FST包含每个ATB的条目.每个条目描述了extents size的总数和空闲extents.FST的目的是优化分配操作.事实上FST位于AllocationTable中.FST位于每个AT的第二个block(block 1). PartnershipStatus Table(PST) PST跟踪磁盘组资格和磁盘间的配合关系.ASM生

【翻译自mos文章】使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G

使用asm来部署 超大数据库(10TB到PB 范围) 參考原文: Deployment of very large databases (10TB to PB range) with Automatic Storage Management (ASM) (Doc ID 368055.1) 范围: 本文适用于在全部平台上的asm配置.包含使用rac 和单实例 环境. 本文适用于超大数据库的创建.而且该数据库会增长到超过10TB级别. 挑战: asm 元数据存储 解决方式: au(分配单元) 是as

AOP 的利器:ASM 3.0 介绍

引言 什么是 ASM ? ASM 是一个 Java 字节码操控框架.它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为.Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称.方法.属性以及 Java 字节码(指令).ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类. 与 BCEL 和 SERL 不同

asm 与 cglib(整理的)

参考博客地址 http://www.oseye.net/user/kevin/blog/304#top http://www.blogjava.net/vanadies10/archive/2011/02/23/344899.html http://llying.iteye.com/blog/220452 http://www.cnblogs.com/liuling/archive/2013/05/21/CGlib-AOP.html 1 asm简介 ASM是一个Java字节码操纵框架,它能被用来

ASM 介绍

引言 什么是 ASM ? ASM 是一个 Java 字节码操控框架.它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为.Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称.方法.属性以及 Java 字节码(指令).ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类. 与 BCEL 和 SERL 不同

关于java字节码框架ASM的学习

一.什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为.Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称.方法.属性以及 Java 字节码(指令).ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类.asm字节码增强技术主要是用来反射的时候提升性能的,

[译]深入字节码操作:使用ASM和Javassist创建审核日志

深入字节码操作:使用ASM和Javassist创建审核日志 原文链接:https://blog.newrelic.com/2014/09/29/diving-bytecode-manipulation-creating-audit-log-asm-javassist/ 在堆栈中使用Spring和Hibernate,您的应用程序的字节码可能会在运行时被增强或处理. 字节码是Java虚拟机(JVM)的指令集,所有在JVM上运行的语言都必须最终编译为字节码. 操作字节码原因如下: 程序分析: 查找应用