原作者:Bane Radulovic 译者: 庄培培 审核: 魏兴华 DBGeeK社群联合出品 ASM disk header ASM磁盘头可能是ASM元数据中最广为人知的部分。...包含ASM元数据的AU会以元数据块的方式进行格式化(一个元数据块的大小为4K)。AU0位于ASM磁盘的起始位置,它始终用于存储ASM元数据。AU0的第一个块,即block 0,就是ASM的磁盘头。...我们对一个LINUX平台上通过asmlib管理的磁盘的block 0,使用kfed工具进行输出观察。 ?...ASM disk header backup ASM从11.1.0.7版本开始,磁盘头块的信息会自动备份到AU1的倒数第二个ASM元数据块中。...Conclusion ASM磁盘头包含ASM磁盘组正常运作和保持可用的重要元数据。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM File Directory 本篇主要介绍ASM的1号文件,ASM的1号文件是ASM的文件目录...2号block是描述2号文件的,300号block是描述300号文件的,4000号block是关于4000号文件的,以此类推。...默认情况下,check disk group 子句会校验所有的元信息目录,在校验过程中如果有错误信息,会记录在ASM的alert文件中,check语句一般会执行如下的操作:1)检查磁盘的一致性 2)检查文件...2 2 7 780 1 2 8 778 3...在 AU 779 (kfffde[2].xptr.au=779), 在 disk 2 (kfffde[2].xptr.disk=2) 以此类推。
,并且不需要停机 (这就是条带化) ASM镜像功能:同样的数据会有多份,High(3份)、normal(2份)、external(1份)三个级别 ASM使用OMF(Oracle Managed Files...ASM实例返回指向数据库实例的文件范围映射信息。多个数据库实例,但仅需要一个ASM实例就可以为多个数据库实例提供服务 ? 图1-2 显示RAC环境中的ASM群集,ASM提供了集群存储池。...2.ASM磁盘组 磁盘组由多个磁盘组成,是OracleASM管理的基本对象 每个磁盘组都包含管理磁盘组中的空间所需的元数据 磁盘组组件包括:磁盘、文件和AU(allocation units) 任何ASM...三个冗余级别: External 外部冗余,不使用ASM镜像,功能由外部存储系统实现,如RAID High 3份镜像,镜像数据两次,最少需要三块磁盘,有效空间是磁盘总大小的1/3 Normal 2份镜像...2.挂载和拆卸磁盘组(Mounting and Dismounting Disk Groups) 数据库实例访问ASM中的文件,首先需要由ASM实例挂载磁盘组。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM Disk Directory 本篇文章讲述ASM元信息的2号文件,ASM的2号文件是ASM...对ASM来说,磁盘目录只是一个普通的ASM文件,在ASM的文件目录中也会有它的条目,如果磁盘组做了冗余策略,它也会相应做镜像,也会像其他文件一样根据实际需要做空间的伸长。...V$ASM_DISK_STAT view 视图V$ASM_DISK_STAT展示了跟V$ASM_DISK相同的信息,不过查询V$ASM_DISK_STAT并不会执行发现所有磁盘的操作。...Locating the disk directory 我们可以在ASM实例中查询固态表X$KFFXP来查看哪些AU属于ASM的2号文件,同时通过join视图V$ASM_DISK_STAT来获取ASM的磁盘名称...1 ASMDISK2 SQL> 上面的结果展示了2个内容:ASM的磁盘目录被做了3重镜像,当前磁盘目录的大小是3个物理extent(本例中也就是3个AU),再次强调,即使在一个normal冗余的磁盘组中
ASM动态逻辑卷设备是由ASM动态逻辑卷构建的。一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备。ASM集群文件系统通过ADVM接口构建在ASM磁盘组之上。...ADVM像数据库一样,也是ASM的一个客户端。当一个逻辑卷被访问时,相应的ASM文件会被打开并且ASM extent的信息会被发送到ADVM驱动。...做到以上要求后,就可以在磁盘组中创建逻辑卷了: $ asmcmd volcreate -G ACFS -s 2G ACFS_VOL1 $ asmcmd volcreate -G ACFS -s 2G...ACFS_VOL2 $ asmcmd volinfo -a Diskgroup Name: ACFS Volume Name: ACFS_VOL1 Volume Device: /dev/asm...Volume Device: /dev/asm/acfs_vol2-159 State: ENABLED Size (MB): 2048 Resize Unit (MB): 32 Redundancy
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM Active Change Directory 当ASM实例要对多个元信息block进行原子修改时...,ASM的active change directory 简称ACD会记录相应的日志,ACD是ASM元信息的3号文件。...=d.group_number and x.disk_kffxp=d.disk_number and x.group_kffxp=1 and x.number_kffxp=3 ORDER BY 1, 2;...输出中我们只需要关注一个地方就可以了,那就是kfracdc.thread=1,这代表该ACD属于ASM实例一。在一个集群环境中,该值是与ASM实例号相对应的。...Conclusion 本篇只是一个说明性质的文章,只为完结ASM元信息系列文章,一些过于细节的地方也不必深究,明白ASM ACD的内部工作机理也没有太大的实践益处。
对于 ASM 而言,它提供了 两种模型:对象模型和事件模型。...ASM 的对象模型(ASM Tree API) 对象模型的 本质 是一个 被封装过后的事件模型,它 使用了树状图的形式来描述一个类,其中包含多个节点,例如方法节点、字段节点等等,而每个节点又有子节点,例如方法节中有操作码子节点...在对象模型下的 ASM 有 两类操作纬度,分别如下所示: 1)、获取节点:获取指定类、字段、方法节点。 2)、操控操作码(针对方法节点):获取操作码位置、替换、删除、插入操作码、输出字节码。...当我们在使用 ASM 进行操控时,可以将它们视为一个个与之对应的事件。...2)、注意本地变量表和操作数栈的数据交换以及 try catch blcok 的处理,关于异常处理可以使用 ASM 提供的 CheckClassAdapter,可以在修改完成后验证一下字节码是否正常。
原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM file number 5 本章讲述ASM的5号文件,5号文件是ASM的模板目录,包含了磁盘组中所有的文件模板的信息..., au_kffxp "AU", disk_kffxp "Disk" FROM x$kffxp WHERE group_kffxp=1 and number_kffxp=271 ORDER BY 1,2;...1 1131 3 1 1132 0 1 1137 2 ...... 7 1132 1 7 1135 3 7 1141 2...译者注:隐含参数_asm_stripesize代表了精细条带的大小,默认为128K,隐含参数_asm_stripewidth代表了条带的宽度,默认为8。
asm 读书笔记 标签(空格分隔): asm 类 ---- #####类 编译过后的class结构: 一部分描述修饰符,名称,超类,接口以及其上的annotation 每个field为一部分,每部分里面包含属性的修饰符...不过对方法的底层实现倒是有了一点了解 ClassReader=>start: ClassReader ClassVisitor=>operation: ClassVisitor ClassVisitor2=...>operation: ClassVisitor ClassWriter=>end: ClassWriter ClassReader->ClassVisitor->ClassVisitor2->ClassWriter...return value(void,MethodVisitor..); ClassVisitor->ClassReader: return value(void,MethodVisitor..); Asm
原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM Continuing Operations Directory ASM中一些运行时间较长的操作,例如rebalance..., drop disk, create/delete/resize file,这些信息ACD的简要结构不足以描述其变化,这些操作需要通过ASM的COD目录去追踪,COD是ASM的4号文件,每一个磁盘组都会有一个...Background operation 后台操作是由ASM实例的后台进程去执行的,它作为磁盘组的维护任务的一部分,而非特殊要求,直到完成或者ASM实例挂掉,如果ASM实例挂掉,执行恢复的实例需要重新执行后台操作...=d.group_number and x.disk_kffxp=d.disk_number and x.group_kffxp=3 and x.number_kffxp=4 ORDER BY 1, 2;...rollback操作类型的代码参照表如下: 1 - Create a file 2 - Delete a file 3 - Resize a file 4 - Drop alias entry 5 -
是一个纯软件级别的实现方式,第三方RAID工作在卷层次上,使用统一条带大小,ASM可以工作在文件层次级别,不同文件可以使用 不同的条带大小 2.ASM的优点 磁盘增加:增加磁盘变得非常容易。...file 二、创建ASM实例(下面基于VMware + RHEL 5.4 + Oracle 10g R2演示) 1.安装ASM包 使用ASM实例,需要到Oracle官方网站下载所需的ASM包。...下载路径:ASMLib下载 注意下载支持该内核的包,分为两部分,一是Library and Tools,二是Drivers for kernel 如本人的Linux的内核为: [root@oradb...----------- ---------- ---------- 1 199 148 0 199 148 1 199 148 0 199 148 重新启动Linux 主机后...an insufficient number of disks for diskgroup "DG1" SQL> ho ls -hlt /dev/raw # LINUX主机重新启动之后属主性质已发生变化
原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 DBGeeK社群联合出品 ASM METADATA BLOCK ASM的元数据由ASM实例进行维护和管理,元信息本身非常重要...有些ASM 元数据在每个ASM 磁盘的固定位置,被称为物理元信息,有些ASM元数据是以文件(目录)形式保存,被称为虚拟元数据,虚拟元数据像所有其他普通ASM 文件一样被管理,它也会根据磁盘组冗余属性决定是否做镜像...ASM metadata lives in ASM disk groups ASM 元数据存储在磁盘组内,换而言之就是磁盘组是ASM 元数据存在的基本前提,值得强调的是ASM 不会在磁盘组之外存储任何东西...每个ASM 磁盘都有ASM 的元数据信息。有些元数据是仅和本磁盘相关的,有些是和整个磁盘组相关的。...ASM metadata blocks ASM元数据结构是由一个或多个ASM 元数据块构成。
它能输出ASM的元数据信息并且从ASM磁盘组中抽取元数据和数据文件。...amdu工具不依赖于ASM实例或者ASM磁盘组的状态,所以它能在ASM实例关闭和磁盘组未挂载的情况下正常使用,它甚至能在ASM磁盘出现故障或者不可见的场景下使用。...首先我们看下DATA磁盘组有哪些磁盘: $ asmcmd lsdsk -G DATA Path ORCL:DISK1 ORCL:DISK2 DATA磁盘组共有两块磁盘-DISK1和DISK2,名字都是以...**** AMDU Settings ******************************** ORACLE_HOME = /u01/app/11.2.0/grid System name: Linux...DISK2 $ kfed read /dev/oracleasm/disks/DISK2 aun=8 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130
原作者: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。...kfdusde[2].used[0].lo: 0 ; 0x038: 0x00000000 kfdusde[2].used[1].spare: 0...元信息8号文件即磁盘空间使用目录,记录了每个ASM磁盘组上每块盘每一个zone的AU使用数。
asmcmd-command line interface to ASM ASM最初发布时,asmcmd的功能还很弱。从11gR2版本开始,asmcmd已经成为一个功能非常强大且常用的工具。...kfed - ASM metadata editor 前面的章节,在对ASM元数据块进行健康检查过程中我们已经谈及如何使用kfed工具,使用它深入地了解了ASM的磁盘头信息,还有它在进行ASM磁盘映射到...kfed不仅能读取元数据,它还有编辑功能,在前面还未谈及如何使用它编辑ASM元数据块,需要强调的是,类似于修改元数据的操作可能会导致ASM和数据库不能正常使用。...它还是最强大的ASM维护和管理工具。...译者注:其实还有一款工具,adhu(ASM Disk Header Utility),它作为oracle asm中和kfed,amdu齐名的asm三大恢复神器之一,没有被oracle大力推广(属于内部工具
这个专题讲ASM相关的内容 内容主要来自官方文档,加上一些自己的理解及实践 [Oracle ASM全解析]Oracle ASM 简介 [Oracle ASM全解析]Oracle ASM Instances...[Oracle ASM全解析]Oracle ASM Disk Groups [Oracle ASM全解析]Oracle ASM Files [Oracle ASM全解析]ASM Instances参数介绍...这节将ASM实例的一些参数,这节讲如何管理ASM实例 ---- 1....cd/B28359_01/rac.111/b28254/storage.htm#RACAD826 2....关闭ASM实例 ASM实例的关闭包括dismount磁盘组和关闭实例两步 关闭ASM前需要先关闭相关的数据库实例 我们使用shutdown命令来关闭ASM实例,它有如下参数: NORMAL ASM 等待现有
这节讲ASM文件目录 在我们创建ASM文件时会自动按照规则生成目录名称,如: +data/orcl/CONTROLFILE/Current.256.541956473 我们同时可以使用自定义的目录名称来方便记忆...DIRECTORY '+data/orcl'; 1.2 创建子目录 ALTER DISKGROUP data ADD DIRECTORY '+data/orcl/first_dir/second_dir'; 2.
---- ASM实例(ASM Instances) ASM 实例跟Oracle数据库实例类似,有自己的SGA和后台进程 ASM 挂载(mount)磁盘组(disk group)以使数据文件可以被数据库使用...ASM 元数据(metadata) ASM 元数据是ASM 用来控制磁盘组以及存储磁盘组信息的,它包含如下信息: 包含在磁盘组的磁盘信息 磁盘组可用的空间大小 磁盘组中文件的文件名 磁盘组数据文件data...如果有多个数据库实例在一个节点,那么所有数据库实例共享这个ASM实例 集群中一个节点的ASM实例失败,其上面的数据库实例也会失败 ASM实例和Oracle实例的关系 1.单实例数据库—-单实例ASM ?...这种情况下多个数据库实例使用一个ASM实例,磁盘组A和磁盘组B由一个ASM实例管理 ---- 2.集群数据库—-集群ASM ?...这种情况下多个Oracle RAC集群使用一个ASM集群,磁盘组A和磁盘组B由一个ASM集群管理 ---- 3.单实例数据库—-集群ASM ?
ASM支持的文件类型 ASM支持绝大多数文件类型,不包括trace file和操作系统文件 ? ? 2....ASM 文件名称 2.1 完全限定文件名 ASM新建立的每个文件都有一个系统生成的名称,这个名称称之为完全限定文件名(fully qualified filename) 你可以通过这个名称定位到具体的文件...你也可以给文件名称起别名 格式如下: +group/dbname/file_type/file_type_tag.file.incarnation +group为磁盘组的名称,我们可以认为+号为一个文件的跟,类比linux...一个完全限定文件名可以如下: +dgroup2/sample/controlfile/Current.256.541956473 2.2 Numeric ASM Filename 数字ASM文件名可以用于定位一个存在的文件...DATAFILE '+dgroup2' SIZE 200M AUTOEXTEND ON;
这节将ASM文件,并介绍其如何在磁盘组中分布的 ---- 1....ASM文件(ASM Files) 存储在ASM 磁盘组的文件称之为ASM 文件,Oracle数据库和ASM通过ASM 文件来交互 磁盘组支持如下类型的文件 控制文件 数据文件,临时文件,数据文件拷贝 SPFILEs...磁盘组中 ASM会自动命令ASM文件名,当然你也可以手动指定路径和名称 名称路径最前面为+号,后面跟上磁盘组名称,如+HDB_DATA 2....ASM条带化(ASM Striping) ASM Striping 有2个用处 将文件分散在磁盘组各个磁盘中来平衡负载–Coarse Grained 减少I/O延迟–fine grained 为了达到目的...,ASM 通过将 ASM文件分成一个个条带(stripes) ,然后将其分散在磁盘组中磁盘中 Oracle提供2种方式的striping 3.1 细粒度条带(fine-grained stripe )
领取专属 10元无门槛券
手把手带您无忧上云