原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM File Directory 本篇主要介绍ASM的1号文件,ASM的1号文件是ASM的文件目录...虽然这是一个内部的文件,但ASM实例会把它当做其它ASM文件一样管理,在ASM的文件目录中也会有它自己的条目(指向了它自己),在一个normal和high冗余的磁盘组中,它也会做镜像,随着新文件的产生,...V$ASM_FILE and V$ASM_ALIAS views ASM文件目录中描述的大部分信息都可以通过V$ASM_FILE视图查询到。...然而,该视图中并不会显示ASM元信息文件的信息。V$ASM_FILE视图中没有描述文件名的列,所以为了得到一个有意义的输出,同时我们还需要联合V$ASM_ALIAS视图。...译者注:译者认为这里作者遗漏了一个很重要的定位asm一号文件的方法,通过kfed 读取asm磁盘头的kfdhdb.f1b1locn部分,可以获得ASM一号文件所在的AU,例如下面的例子里显示了一号文件在磁盘的
一、名词说明 Automatic Storage Management (ASM):自动存储管理 ASM Cluster File System (ACFS) :ASM群集文件系统 ASM Dynamic...官方这一部分主要还是让学习者对ASM有个框架式的了解 ASM是Oracle推荐的存储管理解决方案 ASM使用磁盘组来存储数据文件等 ASM支持单实例和RAC环境 ASM磁盘组(disk group)是...下面介绍ASM的组件: 1.ASM实例(ASM Instances) ASM也有实例,类似数据库实例,有SGA跟后台进程(ps -ef | grep asm_) ASM实例挂载磁盘组,以使ASM文件可用于数据库实例...图1-1 展示了具有一个ASM实例和多个数据库实例的单个节点配置。ASM实例管理元数据,并为ASM文件提供空间分配。当一个数据库实例创建时或者打开ASM文件,它将这些请求发送到ASM实例。...6.ASM文件 存储在ASM磁盘组中的文件称为ASM文件 每个ASM文件都包含在单个OracleASM磁盘组中 存储在ASM中的文件类型: Control files Data files, temporary
原作者:Bane Radulovic 译者: 庄培培 审核: 魏兴华 DBGeeK社群联合出品 ASM disk header ASM磁盘头可能是ASM元数据中最广为人知的部分。...包含ASM元数据的AU会以元数据块的方式进行格式化(一个元数据块的大小为4K)。AU0位于ASM磁盘的起始位置,它始终用于存储ASM元数据。AU0的第一个块,即block 0,就是ASM的磁盘头。...ASM disk header backup ASM从11.1.0.7版本开始,磁盘头块的信息会自动备份到AU1的倒数第二个ASM元数据块中。...Conclusion ASM磁盘头包含ASM磁盘组正常运作和保持可用的重要元数据。...Exadata的ASM磁盘头信息通过不暴露给数据库节点的方式进行保护。 ASM从11.1.0.7版本开始,ASM磁盘头通过维护一份在AU1备份的方式实现进一步的保护机制。
原作者: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的磁盘名称...Conclusion ASM磁盘目录维护了关于ASM磁盘组中的所有的磁盘的信息,这些信息基本上可以通过视图V$ASM_DISK去获取,也可以通过kfed工具去访问到这些信息。
对于 ASM 而言,它提供了 两种模型:对象模型和事件模型。...ASM 的对象模型(ASM Tree API) 对象模型的 本质 是一个 被封装过后的事件模型,它 使用了树状图的形式来描述一个类,其中包含多个节点,例如方法节点、字段节点等等,而每个节点又有子节点,例如方法节中有操作码子节点...的事件模型(ASM Core API) 它 采用了设计模式中的访问者模式。...当我们在使用 ASM 进行操控时,可以将它们视为一个个与之对应的事件。...在使用 ASM 进行插桩的时候,我们尤其需要注意以下 两点: 1)、当我们使用 ASM 处理字节码时,需要 逐步小量的修改、验证,切记不要编写大量的字节码并希望它们能够立即通过验证并且可以马上执行。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM Active Change Directory 当ASM实例要对多个元信息block进行原子修改时...,ASM的active change directory 简称ACD会记录相应的日志,ACD是ASM元信息的3号文件。...ACD被分成多个chunk或者thread,每个运行中的ASM实例都有它自己的42MB大小的chunk。当一个磁盘组被创建时,会分配一个独立的chunk给ACD。...输出中我们只需要关注一个地方就可以了,那就是kfracdc.thread=1,这代表该ACD属于ASM实例一。在一个集群环境中,该值是与ASM实例号相对应的。...Conclusion 本篇只是一个说明性质的文章,只为完结ASM元信息系列文章,一些过于细节的地方也不必深究,明白ASM ACD的内部工作机理也没有太大的实践益处。
原作者:Bane Radulovic 译者: 郭旭瑞 审核: 魏兴华 DBGeeK社群联合出品 ASM file number 7 ASM元信息7号文件,是ASM的逻辑卷目录,用于跟踪与ADVM...ASM动态逻辑卷设备是由ASM动态逻辑卷构建的。一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备。ASM集群文件系统通过ADVM接口构建在ASM磁盘组之上。...ADVM像数据库一样,也是ASM的一个客户端。当一个逻辑卷被访问时,相应的ASM文件会被打开并且ASM extent的信息会被发送到ADVM驱动。...cluster file system 这时,可以在逻辑卷设备上创建ASM集群文件系统(ACFS): # /sbin/mkfs -t acfs /dev/asm/acfs_vol1-159 mkfs.acfs...Conclusion 一个磁盘组中可以配置一个或多个ASM动态逻辑卷设备。ASM集群文件系统通过ADVM接口构建于ASM磁盘组之上。ADVM跟数据库一样,也是ASM的一个客户端。
原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM file number 5 本章讲述ASM的5号文件,5号文件是ASM的模板目录,包含了磁盘组中所有的文件模板的信息...有两种类型的模板:一种是系统自带的,一种是用户创建的,默认的模板(系统自带的)已经包含ASM的所有文件类型,创建文件时会根据文件类型自动匹配,用户创建的模板只会在用户特别指定时会使用。...v$asm_diskgroup WHERE name='DATA'; GROUP_NUMBER NAME Redundancy -------...译者注:隐含参数_asm_stripesize代表了精细条带的大小,默认为128K,隐含参数_asm_stripewidth代表了条带的宽度,默认为8。...这次的结果显示了只为1MB的文件分配了1个虚拟区,额外的一个是ASM的文件头。注意这个文件是三重的镜像和粗粒度的条带。
asm 读书笔记 标签(空格分隔): asm 类 ---- #####类 编译过后的class结构: 一部分描述修饰符,名称,超类,接口以及其上的annotation 每个field为一部分,每部分里面包含属性的修饰符...return value(void,MethodVisitor..); ClassVisitor->ClassReader: return value(void,MethodVisitor..); Asm
--======================== -- 创建ASM实例及ASM数据库 --======================== 一、ASM相关概念 1.什么是ASM(Auto Storage...体系结构(主要由ASM实例及ASM磁盘组组成) ASM的使用需要创建一个ASM实例,用于管理ASM磁盘组 ASM磁盘组由ASM磁盘组成,可以包含一个或多个ASM磁盘 ASM磁盘可以是实际的磁盘,也可以是磁盘的某个分区...ASM实例 如果一个实例服务于多个RDBMS,建议将ASM的ASM_HOME与DB的ORACLE_HOME分开,便于日后的升级与维护 ASM磁盘组的创建与配置在ASM实例启动之后 使用ASM磁盘的RDBMS...ASMB借助某个服务器进程如oracle+ASM1建立普通RDBMS实例到ASM实例的会话,并传递磁盘文件的相关信息 RBAL打开通过ASM实例定位的ASM磁盘 注意:ASM 实例并不代替RDBMS...数据库 使用dbca工具根据提示来创建使用ASM存储的数据库 创建使用ASM存储的数据库完毕之后,对于ASM数据库启动应首先保证ASM实例先被启动,因为RDBMS是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实例挂掉,执行恢复的实例需要重新执行后台操作...ASM的前台进程发起请求,为了能够记录这个rollback操作,必须在ASM的COD目录中申请一个槽位,COD目录的block 1展示了所有的槽位和使用状态,如果所有的槽位当时都是忙的,那么这个操作会休息一段时间...如果数据库实例挂掉或者ASM前台进程挂掉,一个不可恢复的错误会发生,然后这个操作会被终止。
原作者:Bane Radulovic 译者: 庄培培 审核: 魏兴华 DBGeeK社群联合出品 amdu - ASM Metadata Dump Utility ASM Metadata Dump...Utility,即ASM元数据导出工具,它的简写amdu更被人所熟知,常被Oracle技术支持人员和Oracle开发人员用来诊断和解决ASM故障。...它能输出ASM的元数据信息并且从ASM磁盘组中抽取元数据和数据文件。...amdu工具不依赖于ASM实例或者ASM磁盘组的状态,所以它能在ASM实例关闭和磁盘组未挂载的情况下正常使用,它甚至能在ASM磁盘出现故障或者不可见的场景下使用。...F00000267代表本行与序号267的ASM文件相关。 重新回到查找NSA数据文件的目标。ASM序号6的元数据文件是alias别名目录,这是查找目标的起点。
原作者: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 元数据块构成。
kfed - ASM metadata editor 前面的章节,在对ASM元数据块进行健康检查过程中我们已经谈及如何使用kfed工具,使用它深入地了解了ASM的磁盘头信息,还有它在进行ASM磁盘映射到...kfed不仅能读取元数据,它还有编辑功能,在前面还未谈及如何使用它编辑ASM元数据块,需要强调的是,类似于修改元数据的操作可能会导致ASM和数据库不能正常使用。...就像它的名字组成(ASM metadata dump utility)所宣称的那样,它能读取和导出ASM元数据,它能抽取数据库数据文件,这一点是kfed所不具备的。...它还是最强大的ASM维护和管理工具。...译者注:其实还有一款工具,adhu(ASM Disk Header Utility),它作为oracle asm中和kfed,amdu齐名的asm三大恢复神器之一,没有被oracle大力推广(属于内部工具
---- 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文件时会自动按照规则生成目录名称,如: +data/orcl/CONTROLFILE/Current.256.541956473 我们同时可以使用自定义的目录名称来方便记忆
这个专题讲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....使用Server Control Utility (SRVCTL)管理ASM 可以使用SRVCTL做如下操作: 从OCR中添加和删除ASM记录 启用,禁用,启动和停止ASM实例 显示ASM实例的配置和状态...关闭ASM实例 ASM实例的关闭包括dismount磁盘组和关闭实例两步 关闭ASM前需要先关闭相关的数据库实例 我们使用shutdown命令来关闭ASM实例,它有如下参数: NORMAL 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。...x.disk_kffxp "Disk#", x.xnum_kffxp "Extent", x.au_kffxp "AU", d.name "Disk name" FROM x$kffxp x, v$asm_disk_stat...元信息8号文件即磁盘空间使用目录,记录了每个ASM磁盘组上每块盘每一个zone的AU使用数。
这节将ASM文件,并介绍其如何在磁盘组中分布的 ---- 1....ASM文件(ASM Files) 存储在ASM 磁盘组的文件称之为ASM 文件,Oracle数据库和ASM通过ASM 文件来交互 磁盘组支持如下类型的文件 控制文件 数据文件,临时文件,数据文件拷贝 SPFILEs...磁盘组中 ASM会自动命令ASM文件名,当然你也可以手动指定路径和名称 名称路径最前面为+号,后面跟上磁盘组名称,如+HDB_DATA 2....区(Extents) 上节说到ASM Extents为分配空间的最小单位,一个区只会包含在一个磁盘中,一个区包含一个或多个AU Oracle ASM 支持可变大小的区(Variable size extents...ASM条带化(ASM Striping) ASM Striping 有2个用处 将文件分散在磁盘组各个磁盘中来平衡负载–Coarse Grained 减少I/O延迟–fine grained 为了达到目的
ASM支持的文件类型 ASM支持绝大多数文件类型,不包括trace file和操作系统文件 ? ? 2....ASM 文件名称 2.1 完全限定文件名 ASM新建立的每个文件都有一个系统生成的名称,这个名称称之为完全限定文件名(fully qualified filename) 你可以通过这个名称定位到具体的文件...一个完全限定文件名可以如下: +dgroup2/sample/controlfile/Current.256.541956473 2.2 Numeric ASM Filename 数字ASM文件名可以用于定位一个存在的文件...) 别名可用在创建ASM文件以及定位已存在ASM文件 注意:为文件名建立别名,将不受Oracle Managed Files 管理,如数据文件不会在表空间删除时删除 我们可以为除了根(+)目录外所有目录以及文件指定别名...使用ASM 文件名 3.1 为ASM文件名建立别名 ALTER DISKGROUP dgroup1 ADD ALIAS '+dgroup1/mydir/second.dbf' FOR '+dgroup1
领取专属 10元无门槛券
手把手带您无忧上云