手工创建ASM Disk Groups、为 ASM Disk Groups 添加 disk
Groups 添加 disk
创建语法说明:
必选参数:
(1) 指定disk group 的唯一名称 (不分区大小写)
(2) 指定disk group 的冗余级别
对于ASM 的镜像冗余,可以指定3种类型:
normal redundancy: 2-way mirroring
high redundancy:3-way mirroring
external redundancy: 使用外部的冗余
(3) 指定哪些disk 属于我们的创建的disk group
这些disk 的名称全路径,也可以在名称中使用通配符,只要能够识别出来即可。
可选参数:
(4)指定哪些disk 属于failure group (针对normal,high。必须指定指定相同大小的failgroup,不然失去数据冗余在不同磁盘的意义)
我们在创建disk group 的时候也不指定failure group,那么就是disk 作为自己的failure。
(5)指定disk group 的一些属性,如软件兼容性或者AU_SIZE 等。
(6) quorum 属性 (该属性不要指定)
创建disk group 示例:
1. 先确保asm_diskstring 参数争取的设置:
SQL> show parameter asm_diskstring
[root@asm ~]# ll /dev/asm*
SQL> select group_number,disk_number,total_mb,name,failgroup,path from v$asm_disk order by 1;
2. 创建disk group
我们创建一个叫 ANDY 的disk group:
create diskgroup andy normal redundancy
failgroup fg1 disk
'/dev/asm-disko' name andy_fg1
failgroup fg2 disk
'/dev/asm-diskm' name andy_fg2
attribute 'au_size'='4M',
'compatible.asm' = '11.2',
'compatible.rdbms' = '11.1';
修改Disk Groups 配置:
背景说明
在创建完diskgroup之后,我么可以使用alter diskgroup 与来修改disk group的配置。
我们可以在数据库online的状态下add,resize, drop disk。
要注意一点,如果有多个操作要执行,尽可能的把多个操作使用一个alter diskgroup语句来实现,这样可以减少rebalancing 的操作。
当disk group的配置发生改变时,Oracle ASM 会自动进行rebalance的操作。默认情况下,ALTER DISKGROUP操作不需要等待rebalance操作的完成才返回。 我们可以通过查询V$ASM_OPERATION 视图监控rebalance的状态。
如果在alter diskgroup的语句中加上rebalance wait子句,那么在执行alter 命令的时候,就必须等待rebalance 操作结束,
alter 命令才会返回成功。
disk group中添加disk:
1. 先查看磁盘组的情况,确定冗余类型与failgroup。
SQL> select group_number,disk_number,total_mb,name,failgroup,path from v$asm_disk where group_number=4 order by 1;
2. 正式添加,分情况。
2.1 若是外部冗余,则可直接默认模式添加
SQL> alter diskgroup orcl add disk '/dev/asm-diskl';
2.2 若是normal或high,则在添加的时候要指定failgroup。
如: 2个failure goup. 现在我们向其中增加一个disk。
则 SQL> alter diskgroup dave add FAILGROUP FG1 disk '/dev/asm-diskj';
SQL> alter diskgroup dave add FAILGROUP FG2 disk '/dev/asm-diskj';