原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM File Directory 本篇主要介绍ASM的1号文件,ASM的1号文件是ASM的文件目录...虽然这是一个内部的文件,但ASM实例会把它当做其它ASM文件一样管理,在ASM的文件目录中也会有它自己的条目(指向了它自己),在一个normal和high冗余的磁盘组中,它也会做镜像,随着新文件的产生,...ASM文件目录与ASM的AT表是两个相辅相成的数据结构。ALTER DISKGROUP CHECK命令可以检查两个数据结构是不是一致的。...V$ASM_FILE and V$ASM_ALIAS views ASM文件目录中描述的大部分信息都可以通过V$ASM_FILE视图查询到。...译者注:译者认为这里作者遗漏了一个很重要的定位asm一号文件的方法,通过kfed 读取asm磁盘头的kfdhdb.f1b1locn部分,可以获得ASM一号文件所在的AU,例如下面的例子里显示了一号文件在磁盘的
在本节中将解释ASM磁盘头的重要性和它包含的信息。...包含ASM元数据的AU会以元数据块的方式进行格式化(一个元数据块的大小为4K)。AU0位于ASM磁盘的起始位置,它始终用于存储ASM元数据。AU0的第一个块,即block 0,就是ASM的磁盘头。...我们对一个LINUX平台上通过asmlib管理的磁盘的block 0,使用kfed工具进行输出观察。 ?...上述kfed命令的输出结果显示这个asm块有两种类型的数据 以kfbh为前缀的块头信息和以kfdhdb为前缀的ASM磁盘头信息。...Exadata的ASM磁盘头信息通过不暴露给数据库节点的方式进行保护。 ASM从11.1.0.7版本开始,ASM磁盘头通过维护一份在AU1备份的方式实现进一步的保护机制。
准备把ASM这部分好好捋一下,主要是学习ASM部分的官方文档,去掉一些废话,补充一些大佬的总结。也有看不太明白的地方,暂时先放原文。...官方这一部分主要还是让学习者对ASM有个框架式的了解 ASM是Oracle推荐的存储管理解决方案 ASM使用磁盘组来存储数据文件等 ASM支持单实例和RAC环境 ASM磁盘组(disk group)是...ASM作为单元管理的磁盘集合 存储在磁盘组中的文件数据均匀分布在各个磁盘上,可以消除热点 数据库在访问ASM中的数据文件时,也可以添加或删除磁盘组中的磁盘 添加或删除磁盘后,ASM会自动重新分发文件内容...由于ASM在磁盘组中所有磁盘之间的负载平衡,因此不同的ASM磁盘不应共享相同的物理驱动器。...四、ASM的一些注意事项 在配置ASM之前,应考虑有关存储子系统的几个问题。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM Disk Directory 本篇文章讲述ASM元信息的2号文件,ASM的2号文件是ASM...由于在ASM中磁盘组是一个独立的存储单位,因此每一个磁盘组都会有自己的磁盘目录。 译者注:ASM中每一个磁盘组都是自解释的,磁盘组之间没有任何的信息上依赖。...对ASM来说,磁盘目录只是一个普通的ASM文件,在ASM的文件目录中也会有它的条目,如果磁盘组做了冗余策略,它也会相应做镜像,也会像其他文件一样根据实际需要做空间的伸长。...V$ASM_DISK_STAT view 视图V$ASM_DISK_STAT展示了跟V$ASM_DISK相同的信息,不过查询V$ASM_DISK_STAT并不会执行发现所有磁盘的操作。...它的信息来自于ASM实例的SGA区,查询V$ASM_DISK_STAT的代价不大,因为并不进行发现磁盘的操作,但是这个查询的结果可能并不能实时反应系统磁盘的现状。
ASM 的对象模型(ASM Tree API) 对象模型的 本质 是一个 被封装过后的事件模型,它 使用了树状图的形式来描述一个类,其中包含多个节点,例如方法节点、字段节点等等,而每个节点又有子节点,例如方法节中有操作码子节点...的事件模型(ASM Core API) 它 采用了设计模式中的访问者模式。...当我们在使用 ASM 进行操控时,可以将它们视为一个个与之对应的事件。...在使用 ASM 进行插桩的时候,我们尤其需要注意以下 两点: 1)、当我们使用 ASM 处理字节码时,需要 逐步小量的修改、验证,切记不要编写大量的字节码并希望它们能够立即通过验证并且可以马上执行。...此外,除了 JVM 的验证器之外,ASM 还维护了一个单独的字节码验证器,它也会检查你的字节码实现是否符合 JVM 规范。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM file number 7 ASM元信息7号文件,是ASM的逻辑卷目录,用于跟踪与ADVM...ASM动态逻辑卷设备是由ASM动态逻辑卷构建的。一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备。ASM集群文件系统通过ADVM接口构建在ASM磁盘组之上。...ADVM像数据库一样,也是ASM的一个客户端。当一个逻辑卷被访问时,相应的ASM文件会被打开并且ASM extent的信息会被发送到ADVM驱动。...ASM元信息7号文件block 1包含的是第一个逻辑卷的信息(kfvvde.volnm: ACFS_VOL1),并且有两个文件关联到这个逻辑卷: ● DRL脏数据记录区域文件(kfvvde.drlfnum.number...Conclusion 一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备。ASM集群文件系统通过ADVM接口构建于ASM磁盘组之上。ADVM跟数据库一样,也是ASM的一个客户端。
,ASM的active change directory 简称ACD会记录相应的日志,ACD是ASM元信息的3号文件。...对应的日志记录会以单次IO的方式写入,来确保操作原子性。 ACD被分成多个chunk或者thread,每个运行中的ASM实例都有它自己的42MB大小的chunk。...输出中我们只需要关注一个地方就可以了,那就是kfracdc.thread=1,这代表该ACD属于ASM实例一。在一个集群环境中,该值是与ASM实例号相对应的。.... $ 我们看到ACD 1号block的类型是KFBTYP_CHNGDIR,包含了kfracdb.lge[i]数据结构,也就是ASM的redo日志记录。...Conclusion 本篇只是一个说明性质的文章,只为完结ASM元信息系列文章,一些过于细节的地方也不必深究,明白ASM ACD的内部工作机理也没有太大的实践益处。
原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM file number 5 本章讲述ASM的5号文件,5号文件是ASM的模板目录,包含了磁盘组中所有的文件模板的信息...有两种类型的模板:一种是系统自带的,一种是用户创建的,默认的模板(系统自带的)已经包含ASM的所有文件类型,创建文件时会根据文件类型自动匹配,用户创建的模板只会在用户特别指定时会使用。...给我新创建的数据文件分配了编号217,我们接着看下这个文件的冗余度,这一次我连接的是ASM的实例: SQL> SELECT group_number, name, type "Redundancy" FROM...译者注:隐含参数_asm_stripesize代表了精细条带的大小,默认为128K,隐含参数_asm_stripewidth代表了条带的宽度,默认为8。...这次的结果显示了只为1MB的文件分配了1个虚拟区,额外的一个是ASM的文件头。注意这个文件是三重的镜像和粗粒度的条带。
asm 读书笔记 标签(空格分隔): asm 类 ---- #####类 编译过后的class结构: 一部分描述修饰符,名称,超类,接口以及其上的annotation 每个field为一部分,每部分里面包含属性的修饰符...,而且源文件中的点转换为了斜杠 引用类型的L代表哪个单词?...return value(void,MethodVisitor..); ClassVisitor->ClassReader: return value(void,MethodVisitor..); Asm...的通过拦截链解析Class实现的很优雅,自己想要干预其中的某项生成,都可以很简单的实现相应的Visitor,把Visitor放入解析链中即可。...理解ClassVisitor中的方法是什么难度,毕竟平时使用的就是注解,属性,方法等,但是MethodVisitor涉及到底层class的汇编代码,理解起来比较困难,可以选择先去学习下汇编相关知识以及jvm
磁盘组组成) ASM的使用需要创建一个ASM实例,用于管理ASM磁盘组 ASM磁盘组由ASM磁盘组成,可以包含一个或多个ASM磁盘 ASM磁盘可以是实际的磁盘,也可以是磁盘的某个分区,或LVM管理的逻辑卷...,但必须是未格式化的原始设备 ASM磁盘组的大小为该组内ASM磁盘大小的总和,可使用的容量则根据容错级别而有不同的可用大小 5.ASM实例及RDBMS实例 ASM实例类似于普通的数据库实例(RDBMS...ASM实例 如果一个实例服务于多个RDBMS,建议将ASM的ASM_HOME与DB的ORACLE_HOME分开,便于日后的升级与维护 ASM磁盘组的创建与配置在ASM实例启动之后 使用ASM磁盘的RDBMS...下载路径:ASMLib下载 注意下载支持该内核的包,分为两部分,一是Library and Tools,二是Drivers for kernel 如本人的Linux的内核为: [root@oradb...ASM discovered an insufficient number of disks for diskgroup "DG1" SQL> ho ls -hlt /dev/raw # LINUX
, drop disk, create/delete/resize file,这些信息ACD的简要结构不足以描述其变化,这些操作需要通过ASM的COD目录去追踪,COD是ASM的4号文件,每一个磁盘组都会有一个...Background operation 后台操作是由ASM实例的后台进程去执行的,它作为磁盘组的维护任务的一部分,而非特殊要求,直到完成或者ASM实例挂掉,如果ASM实例挂掉,执行恢复的实例需要重新执行后台操作...我们查询内部视图X$KFFXP找到磁盘组3的COD的AU分布,COD是ASM的文件4,因此在查询中设置了number_kffxp=4。...ASM的前台进程发起请求,为了能够记录这个rollback操作,必须在ASM的COD目录中申请一个槽位,COD目录的block 1展示了所有的槽位和使用状态,如果所有的槽位当时都是忙的,那么这个操作会休息一段时间...的COD目录跟踪所有长时间运行的ASM操作,对于由于任何原因导致的问题,COD目录中相关记录可以用来把这些操作完成或回退。
,ASM磁盘组中的文件要想被Oracle DB和其他客户端正常使用,就要求元信息一定要是完好无损的,ASM的元信息以元信息块的形式存储在磁盘组中。...译者注:ASM的元信息可以类比为Oracle数据库的数据字典,一旦核心的元信息发生毁坏,那么ASM磁盘组将不能被装载继而提供服务。...译者注:例如元信息1号文件记录了ASM磁盘组中所有文件的基本信息,随着ASM中文件的不断增多,1号文件本身也会自动增长用来记录新增的文件。...每个ASM 磁盘都有ASM 的元数据信息。有些元数据是仅和本磁盘相关的,有些是和整个磁盘组相关的。...ASM 元数据是由ASM 元数据块组成的,更多的相关话题请参阅后续的有关ASM元数据块的章节。 关于译者 邱大龙,沃趣科技数据库技术专家,主要参与公司产品实施、测试、维护以及优化。
Utility,即ASM元数据导出工具,它的简写amdu更被人所熟知,常被Oracle技术支持人员和Oracle开发人员用来诊断和解决ASM故障。...它能输出ASM的元数据信息并且从ASM磁盘组中抽取元数据和数据文件。...amdu工具不依赖于ASM实例或者ASM磁盘组的状态,所以它能在ASM实例关闭和磁盘组未挂载的情况下正常使用,它甚至能在ASM磁盘出现故障或者不可见的场景下使用。...**** AMDU Settings ******************************** ORACLE_HOME = /u01/app/11.2.0/grid System name: Linux...ASM序号6的元数据文件是alias别名目录,这是查找目标的起点。通过DATA.map文件,能找到序号6的ASM元数据文件的所有AU。
,是自描述的,对于ASM磁盘组中数据库文件,ASM提供一个文件系统的接口,方便DBA做管理。...存放在ASM磁盘组中的文件被均匀的分布在磁盘组中的所有磁盘上,通过这种方式,每一块磁盘都可以提供一致的性能,同时ASM的性能可以比得上裸设备的性能。...【摘录自11GR2版本的ASM官方文档】 ASM Disk Groups 一个ASM磁盘组是由一个或多个ASM磁盘组成的,每个ASM磁盘组也是自包含的,有它自己的ASM元数据,这些元数据由ASM实例进行维护和管理...建议给ASM使用的盘都做分区,即使是计划把一整个盘提供给ASM使用,也建议做成一个单一的分区。...此外ASM也会存储它自身的元数据文件到磁盘组中,元数据文件有它自己的编号机制,与数据文件的编号是独立的,ASM 256以下的编号都是为ASM元数据文件预留的。
--======================== -- ASM 磁盘、目录的管理 --======================== ASM磁盘是ASM体系结构的重要组成部分,ASM磁盘由ASM...有关ASM实例及ASM数据库的创建请参考:创建ASM实例及ASM数据库 一、相关概念 1.ASM 磁盘组 ASM存储管理除了ASM实例之外,最大的组成部分就是ASM磁盘组。...ASM磁盘在不同的节点可以使用不同的名字 ASM磁盘可以使网络文件系统 ASM磁盘上的对象被冗余保护 每一个ASM磁盘的第1块用于定义磁盘的头部信息,ASM磁盘名字编号,创建的时间戳等 ASM...,磁盘组以加号开头,相当于Linux系统的根目录 如+DG1/oradb/datafile/system.258.346542 ASM可以为控制文件,数据文件,联机日志文件,参数文件,归档日志,备份等...v$asm_client --返回当前连接的客户端实例信息 v$asm_file --返回asm文件的相关信息 v$asm_template --返回asm文件样本的相关信息 v$asm_alias
asmcmd-command line interface to ASM ASM最初发布时,asmcmd的功能还很弱。从11gR2版本开始,asmcmd已经成为一个功能非常强大且常用的工具。...kfed不仅能读取元数据,它还有编辑功能,在前面还未谈及如何使用它编辑ASM元数据块,需要强调的是,类似于修改元数据的操作可能会导致ASM和数据库不能正常使用。...就像它的名字组成(ASM metadata dump utility)所宣称的那样,它能读取和导出ASM元数据,它能抽取数据库数据文件,这一点是kfed所不具备的。...(当磁盘组重命名完成后,)ASM会从discovery目录下的磁盘的磁盘头发现一个新磁盘组,而数据库并不知道它的数据文件所在的磁盘组进行了重命名。...),随着kfed功能增强和asm disk header自动备份功能的完善,adhu oracle基本上停止的开发支持,可以用来作为10.2.0.5之前asm版本的磁盘头保护工具。
这个专题讲ASM相关的内容 内容主要来自官方文档,加上一些自己的理解及实践 [Oracle ASM全解析]Oracle ASM 简介 [Oracle ASM全解析]Oracle ASM Instances...这节将ASM实例的一些参数,这节讲如何管理ASM实例 ---- 1....启动ASM实例 启动ASM实例不同于Oracle数据库的启动那样mount和open数据文件,它会首先启动实例然后挂在磁盘组 ASM_DISKGROUPS参数中的磁盘组 Cluster Synchronization...参数后面 下图为一个开启ASM实例的例子 ?...关闭ASM实例 ASM实例的关闭包括dismount磁盘组和关闭实例两步 关闭ASM前需要先关闭相关的数据库实例 我们使用shutdown命令来关闭ASM实例,它有如下参数: NORMAL ASM 等待现有
这节讲ASM文件目录 在我们创建ASM文件时会自动按照规则生成目录名称,如: +data/orcl/CONTROLFILE/Current.256.541956473 我们同时可以使用自定义的目录名称来方便记忆...重命名目录 不能重命名根目录和系统生成的目录 ALTER DISKGROUP data RENAME DIRECTORY '+data/mydir' TO +data/yourdir'; 3.删除目录...不能删除系统生成的目录 你不能删除一个带有别名的目录,除非使用force选项 下面语句删除目录和里面的内容 ALTER DISKGROUP data DROP DIRECTORY '+data/yourdir
---- ASM实例(ASM Instances) ASM 实例跟Oracle数据库实例类似,有自己的SGA和后台进程 ASM 挂载(mount)磁盘组(disk group)以使数据文件可以被数据库使用...该实例由于执行的任务远少于数据库实例,所以其大小很小 ?...ASM 元数据(metadata) ASM 元数据是ASM 用来控制磁盘组以及存储磁盘组信息的,它包含如下信息: 包含在磁盘组的磁盘信息 磁盘组可用的空间大小 磁盘组中文件的文件名 磁盘组数据文件data...extent的位置 一个redo log用来保存更改的数据块信息 ASM和数据库需要共享访问磁盘组里面的磁盘 ASM实例可以通过Oracle cluster 软件搭建集群,每个节点一个ASM实例...如果有多个数据库实例在一个节点,那么所有数据库实例共享这个ASM实例 集群中一个节点的ASM实例失败,其上面的数据库实例也会失败 ASM实例和Oracle实例的关系 1.单实例数据库—-单实例ASM ?
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM file number 8 ASM元信息8号文件是磁盘空间使用目录Used Space...Directory,简称USD,它记录了每个ASM磁盘组中每个磁盘的每个zone上被使用的AU数。...USD元数据文件在ASM兼容性参数设置为11.2以上时会存在。 Locating the used space directory 我们通过下面的查询获取每个磁盘组中USD目录所在的AU。...ASM磁盘组一中有两块磁盘,因此只有kfdusde结构的前两个条目被占用(kfdusde[0],kfdusde[1]),而且两个条目都显示所有的已分配空间都在到了冷区中。...元信息8号文件即磁盘空间使用目录,记录了每个ASM磁盘组上每块盘每一个zone的AU使用数。
领取专属 10元无门槛券
手把手带您无忧上云