小程序容器助力企业在金融与物联网领域实现高效合规运营,带来的新机遇与挑战如何管理?
355
2023-12-18
ASM 11R2基本知识点有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1 基本概念
ASM实例一直处于started或mounted状态,11R2其在-中注册状态为ready,即支持远程访问;
启动时将连接字符串注册到CSS,数据库实例启动时由ASMB读取以此建立同ASM的联系,ASM使用前台进程UFG同数据库实例联系;磁盘以AU为分配单位,在创建磁盘组时指定,范围为1-64M;
ASM文件以extent为单位,一个extent可对应若干AU,为避免管理大文件占用过量SGA,oracle采用可变大小的Extent
0-20000区间, extent = AU
20000-40000区间,extent = 4* AU
>40000,extent=16* AU通常建议ASM extent 等于或是 DB extent的整数倍;
同一磁盘在不同RAC节点的路径可以不一致,依靠其磁盘头判断是否同一磁盘;2 镜像与条带
镜像
ASM采用extent镜像而非磁盘镜像,若某个磁盘失败,则区间指针可借助磁盘伙伴被重定向到区间镜像;
在normal和high冗余策略下,ASM将主区间和区间镜像保存于不同的故障组;
ASM的磁盘伙伴维护extent镜像拷贝,其存于PST伙伴状态表中;ASM基于故障组定义自动选择磁盘伙伴,而故障组在创建磁盘组时指定;
磁盘最多可有10个active伙伴关系,drop disk会引发重置形成新的伙伴关系,PST跟踪此操作直至rebalance完成;
过多的磁盘组嵌套可能会耗尽空间,引发ORA-15074 diskgroup requires rebalance completion;
在normal和high磁盘组中,可以为文件单独指定冗余级别;条带化
将AU存于同一故障组的不同磁盘上,分为粗粒度和细粒度;
粗粒度:条带=AU,当区间>20000时,一个extent的AU可位于不同磁盘上,提高IO吞吐量;
细粒度:条带=128K,减少IO延迟,适用于online logfile(可单独建立细粒度磁盘组);
文件模板决定了条带化类型,如果创建文件时不显示指定则选择默认模板;
3 数据结构
分为物理元数据和虚拟元数据,
3.1 物理元数据
存于磁盘前2个AU,用于必要的ASM引导;
3.1.1 磁盘头第1个AU的首块,大小为4K;
磁盘名/磁盘号
磁盘组/故障组名
磁盘/AU大小
创建/加载时间
ASM/DBMS兼容性
文件目录指针
3.1.2 AT分配表
记录磁盘的AU使用情况,每个AU对应一个分配条目ATE(entry),多个ATE组成一个ATB(block);
当AU被某文件使用时,其ATE记录下file no + extent no;
为分配的AU标示为free,而free extent保存于1个链表中以便分配,
其与虚拟元数据file directory互补,可通过alter diskgroup … check验证其一致性;
3.1.3 FST 空闲空间表
每个ATB包含一个FST条目,描述其下free extent;
请求空间分配时,ASM通过FST跳过full ATB;3.1.4 PST伙伴关系表
占用第2个AU,跟踪磁盘组成员和磁盘伙伴,ASM通过其判断磁盘组是否有足够磁盘在线;
针对每个磁盘,PST记录 磁盘状态 + 伙伴个数 + 伙伴列表;
任意时间一个磁盘组只能有一个active PST,默认一个故障组包含1个PST;
PST副本: PST shadow为active PST的副本(两者位于不同磁盘),其副本随着active PST更新,完毕后两者角色互换;
PST最后1个块用于磁盘心跳,1避免磁盘组在不同集群中同时加载,类似控制文件3.2 虚拟元数据
位于ASM文件中,分为directories和registers,前者为ASM独立访问的元数据文件,文件号从1开始;后者文件号从255倒计数,为保留的ASM文件;
3.2.1 File directory
包含所有ASM文件的metadata,与物理元数据的AT对应;文件号为1 ;
Incarnation number + file size + file type + redundancy level + strip level + created/modified time + file layout
ASM文件被删除后文件号可重用,incarnation number却不可能相同,由此保证文件的唯一性;
File layout:由区间指针组成,包括区间对应的磁盘号和 AU号,1个file directory包含60个直接区间指针 和最多300个间接区间3.2.2 Disk directory
包含磁盘组所有信息,与PST对应但比之更详尽,文件号为2;3.2.3 ACD
类似redo日志,文件号3;
每个ASM实例拥有1个42M的ACD chunk,第一个块包含打开/关闭状态和检查点(3秒更新1次),其余循环利用;3.2.4 COD
类似undo,跟踪耗时较长操作如rebalance/文件创建,文件号4;
若当前实例执行rebalance失败,集群其他节点可重启该操作;其余还有template directory, alias directory以及attribute directory;
3.2.5 Staleness registry
当compatible.rdbms>=11.1且冗余类似为normal或high时才可用,文件号254;
当磁盘offline时在SR中获取1个slot,为该磁盘每个AU分配1个bit,若offline期间发生写操作则设置AU的bit位;
当磁盘再次online时,ASM根据slot中被更新的bit位从镜像区间同步数据,以此完成11R2的fast mirror resync;4 与数据库交互
创建文件
RDBMS向ASM发送创建文件请求,ASM分配空间并将extent map返回给RDBMS,文件名格式为+<磁盘组>/<数据库名>/<文件类型>/;
RDBMS初始化文件,由COD跟踪尚未完成的文件创建;
RDBMS提交完成请求,则ASM的LGWR清除ACD,DBWR更新AT以及file directory和alias directory;若RDBMS撤销创建请求,则ASM使用COD回滚;
删除文件也由COD全程跟踪并在失败时回滚;打开文件
RDBMS发送请求给ASM,后者将文件的extent map返回给RDBMS;11G会先发送60个直接区间,根据RDBMS请求再传送间接区间;
读错误
读主区间遭遇错误时自动选择镜像区间,11g还可自动对主区间的坏块进行修复;
若ASM实例不能读取虚拟元数据则强制卸载磁盘组,若不能读取磁盘的物理元数据则将其offline;写错误
若ASM实例收到写错误则尝试该磁盘offline,并通过PST查看伙伴磁盘状态,若很多伙伴磁盘也offline则强制卸载磁盘组;
将消息传给其他ASM实例,由其更新RDBMS实例;
Compatible.rdbms >=11.1时disk_repair_time指定磁盘可offline最长时间;关于ASM 11R2基本知识点有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~