温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASM 11R2基本知识点有哪些

发布时间:2021-11-29 14:48:48 来源:亿速云 阅读:261 作者:柒染 栏目:关系型数据库

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,文件名格式为+<磁盘组>/<数据库名>/<文件类型>/<file tag.file #.incarnation#>;
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基本知识点有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asm
AI