一、 管理ASM 磁盘组

ASM磁盘组的属性

ASM磁盘组是有属性的,有些属性是不能修改的,有些属性是可以修改的。

以下语句查询出DATA磁盘组的非template属性:

SQL> SELECT dg.name AS diskgroup, SUBSTR(a.name,1,18) AS name,

2 SUBSTR(a.value,1,24) AS value, read_only FROM V$ASM_DISKGROUP dg,

3 V$ASM_ATTRIBUTE a WHERE dg.name = ‘DATA’ and a.name not like ‘template%’

4 AND dg.group_number = a.group_number;

clip_image001

compatible.rdbms:对oracle数据库的兼容性,可修改,不过需要compatible.asm大于11.1

compatible.asm:对ASM的兼容性,可以修改

sector_size:扇区大小,不可修改

au_size:allocation unit大小,不可修改

disk_repair_time:允许的transient failure时间,在该时间内不会自动drop磁盘,可以修改

access_control.enabled:是否打开访问控制,可以修改

access_control.umask:打开访问控制后用来控制文件的读写权限,可以修改

Ø alter diskgroup XUE1 set ATTRIBUTE ‘compatible.asm’= ‘11.2′;

Ø alter diskgroup XUE1 set ATTRIBUTE ‘disk_repair_time’= ‘5′;

ASM镜像和失败组
Asm 镜像

1、ASM的镜像功能分为三个冗余级别:EXTERNAL、NORMAL、HIGH

EXTERNAL级别就是零冗余,即文件的extent没有任何copy。

NORMAL级别默认是1冗余,即文件的extent有一份copy,可以设置为0冗余或2冗余。

HIGH级别就是2冗余,即每个文件的extent都有2个copy,每个copy都放在与extent本身不同的失败组内。

Asm 失败组

1、失败组(failgroup)就是磁盘组中磁盘的子集,一个NORMAL级别的磁盘组至少有两个失败组,每个失败组至少有一个磁盘,每个extent的copy都放在与本身所在失败组不同的失败组,一个HIGH级别的磁盘组,至少有三个失败组,每个失败组至少有一个磁盘。

2、在创建磁盘组时可以显示的指定失败组及其磁盘,也可以不显示的指定失败组,不指定失败组时,每个磁盘分别属于自己的失败组。

3、每个磁盘只能属于一个失败组,失败组的大小应当相同。

4、对于依赖于同一块硬件的磁盘,建议放在同一个失败组。

5、少于20块磁盘,建议每个磁盘放在自己的失败组。

read and write IO error

1、Read error可能是因为磁盘无法访问或磁盘损坏导致的,当数据库实例或ASM实例遭遇read error时,ASM试图将损坏的extent的完好的copy写到损坏的AU。

如果copy成功,则认为磁盘AU或sector是健康的。

如果copy失败,ASM会试图将这个extent写到相同磁盘的其他AU,如果这次写入成功,则将原来的AU标记为unusable,如果这次写入失败,则将该磁盘offline。

对于多数的逻辑冲突,oracle数据库实例在读取时可以直接在其镜像中获得需要的数据而不会返回错误。

2、当oracle数据库实例遇到write error时,会通知ASM offline相应的磁盘,只要有一个镜像能够完成写入,则认为这次写入时成功的,如果所有的镜像都无法写入,那么oracle实例会采取进一步的措施,例如:offline tablespace

ASM实例在收到数据库实例的write error或者ASM实例自己遇到write error时,会试图offline 磁盘,ASM实例首先会查看磁盘组的PST( Partner Status Table),如果发现过多的partner处于offline状态,则会强制dismount整个磁盘组,否则,offline相应的磁盘。

Oracle ASM Fast Mirror Resync

该功能可以跟踪offline的磁盘的extent的变化,并在其online后同步这些变化。

磁盘主动或被动offline之后,会再一定时间之后从磁盘组中drop,这段时间由磁盘组的属性DISK_REPAIR_TIME决定,该变量默认为3.6小时,可以动态修改,v$asm_disk视图中得REPAIR_TIMER表示距离drop还剩余多少时间。

Preferred Read Failure Groups

1、可以配置一个Preferred Read Failure Groups,让数据库实例在访问数据时,首先访问Preferred Read Failure Groups中得extent,即使这个extent不是primary。

Preferred Read Failure Groups是实例相关的,

2、不应该配置同一个磁盘组中得多个失败组为Preferred Read Failure Groups。

3、使用初始化参数ASM_PREFERRED_READ_FAILURE_GROUPS配置Preferred Read Failure Groups,格式如下:

dg_name1.failgroup_name,dg_name2.failgroup_name,……

4、查看v$asm_disk视图的PREFERRED_READ列确认哪些磁盘是preferred




Related posts

coded by nessus
分享:  DeliciousGReader鲜果豆瓣CSDN网摘
Trackback

no comment untill now

Add your comment now

无觅相关文章插件