一、创建磁盘组

命令:

create diskgroup diskgroup_name

<high|normal|external> redundancy

failgroup failgroup_name disk 'disk_nmae' name asm_disk_name

;


说明:

failgroup(故障组)的个数的限制:

HIGH ---------- failgroup >= 3

NORMAL ---------- failgroup >= 2

EXTERNAL -------- failgroup == 0 (不能指定故障组)


e.g:

1、高冗余(HIGH REDUNDANCY)

create diskgroup dgdata1

high redundancy

failgroup dgdata1_fg1 disk 'ORCL:DISK1' name dgdata1_fg1_01

failgroup dgdata1_fg2 disk 'ORCL:DISK2' name dgdata1_fg2_01

failgroup dgdata1_fg3 disk 'ORCL:DISK3' name dgdata1_fg3_01;

(也可以为一个故障组增加多个磁盘)


2、普通冗余(NORMAL REDUNDANCY)

create diskgroup dgdata2

normal redundancy

failgroup dgdata2_fg1 disk 'ORCL:DISK4' name dgdata2_fg1_01

failgroup dgdata2_fg2 disk 'ORCL:DISK5' name dgdata2_fg2_01;


3、外部冗余(EXTERNAL REDUNDANCY)

create diskgroup dgdata3

external redundancy

disk 'ORCL:DISK6' name dgdata3_01;



二、删除磁盘组

命令:

drop diskgroup diskgroup_name;


说明:

删除磁盘组时,磁盘组必须被挂载(mount)


e.g.:

drop diskgroup dgdata1;


三、挂载磁盘组(MOUNT)

命令:

alter diskgroup diskgroup_name mount; #mount sepcify diskgroup

or

alter diskgroup all mount;

#mount all diskgroup that values are from parameter asm_diskgroups .


e.g.:

alter diskgroup dgdata1 mount;


四、卸载磁盘组(DISMOUNT)

命令:

alter diskgroup diskgroup_name dismount; #dismount sepcify diskgroup

or

alter diskgroup all dismount;

#dismount all diskgroup that values are from parameter asm_diskgroups .


e.g.:

alter diskgroup dgdata1 dismount;

or

alter diskgroup dgdata1 dismount force;

#强制DISMOUNT。如果有数据在使用该磁盘组时。


五、修改磁盘组磁盘数量

命令:

1、向指定的故障组加入磁盘

alter diskgroup diskgroup_name

add failgroup failgroup_name disk 'disk_name' name asm_disk_name [force];


2、加入磁盘并新增一个故障组

alter diskgroup dgdata2

add disk 'disk_name' name asm_disk_name;

#不指定故障组名,名称与name字段相同

or

alter diskgroup dgdata2

add disk 'disk_name'; #不指定故障组名和ASM磁盘名,其名称由系统统一指定。


3、删除磁盘

alter diskgroup diskgroup_name

drop disk asm_disk_name;


4、故障组删除磁盘的同时加入新磁盘

alter diskgroup diskgroup_name

drop disk 'asm_disk_name'

add failgroup failgroup_name disk 'disk_name' name asm_disk_name [force];

#目的是减少重平衡的资源消耗。


说明:

1、增加磁盘时,如果不指定故障组名,则系统默认故障组名为name后的名字。如果

没有指定name字段,则系统自动指定。

2、增删磁盘时,会发生重平衡操作

3、force表示从其他磁盘组强制拉出磁盘,并加入当前操作的磁盘组。(要求被拉磁

盘组DISMOUNT)。

4、删除磁盘的同时的加入新磁盘,磁盘组只进行一次重平衡。如果在删除了磁盘后,

再进行新磁盘加入则需要两次重平衡。


e.g.:

1、alter diskgroup dgdata2

add failgroup dgdata2_fg1 disk 'ORCL:DISK7' name dgdata2_fg1_02;


2、alter diskgroup dgdata2

add disk 'ORCL:DISK7' name dgdata2_fg1_02;

#系统会自动生成故障组名,其名字与name后的名称相同,即名称为:dgdata2_fg1_02


3、alter diskgroup dgdata2

add disk 'ORCL:DISK7'; #系统会自动生成故障组名和ASM磁盘名,且二者相同。


4、alter diskgroup dgdata2

drop disk 'ORCL:DISK2'

add failgroup dgdata2_fg2 disk 'ORCL:DIS3' name dgdata2_fg2_03;

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html