ASM之磁盘创建及管理
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.查看ASM配置磁盘搜索信息
SQL> show parameter instance_type
asm实例系统
NAME TYPE VALUE
------------------------------------ ---------------------- ----------
instance_type string asm
普通实例系统
NAME TYPE VALUE
------------------------------------ ----------- ---------
instance_type string RDBMS
SQL> show parameter asm_diskst
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.使用oracleasm创建磁盘
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd2
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sde2
Marking disk "VOL4" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm listdisks VOL1 VOL2 VOL3 VOL4
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3.创建磁盘组语法
CREATE DISKGROUP diskgroup_name [ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ] [ FAILGROUP failgroup_name ] DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4.创建磁盘组
SQL> create diskgroup DG1 normal redundancy disk '/dev/oracleasm/disks/VOL1' name VOL1;
create diskgroup DG1 normal redundancy disk '/dev/oracleasm/disks/VOL1' name VOL1 * ERROR at line 1:
ORA-15018: diskgroup cannot be created --标准冗余至少需要两块磁盘
ORA-15072: command requires at least 2 failure groups, discovered only 1
SQL> create diskgroup DG1 normal redundancy 2 disk '/dev/oracleasm/disks/VOL1' name DG1_VOL1 ,'/dev/oracleasm/disks/VOL2' name DG1_VOL2;
SQL>
create diskgroup DG2 normal redundancy
failgroup FG1 disk '/dev/oracleasm/disks/VOL3' name DG2_FG1_VOL3
failgroup FG2 disk '/dev/oracleasm/disks/VOL4' name DG2_FG2_VOL4;
--使用标准冗余创建磁盘组DG2
SQL> create diskgroup DG_ext external redundancy disk '/dev/oracleasm/disks/VOL10' name DG_ext_VOL10; --外部冗余
SQL>
select group_number gno,name,state,type,total_mb,free_mb,
required_mirror_free_mb rmfmb,usable_file_mb ufmb
from v$asm_diskgroup;
--查看创建的磁盘组
GNO NAME STATE
---------- ------------------------------------------------------------ ----------------------
TYPE TOTAL_MB FREE_MB RMFMB UFMB
------------ ---------- ---------- ---------- ----------
1 BACK MOUNTED
EXTERN 2047 26 0 26
2 DATA MOUNTED
EXTERN 2047 0 0 0
3 OCR MOUNTED
NORMAL 6141 5215 2047 1584
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5.磁盘组添加故障组和成员
--为非故障组添加成员
SQL> alter diskgroup DG1 add disk '/dev/oracleasm/disks/VOL5' name DG1_VOL5;
--为DG2添加一个故障组FG3及成员
SQL> alter diskgroup DG2 add failgroup FG3 disk '/dev/oracleasm/disks/VOL6' name DG2_FG3_VOL6;
--添加故障组及成员 --为DG2的个故障组各添加一个成员
SQL>
alter diskgroup DG2
add failgroup FG1 disk '/dev/oracleasm/disks/VOL7'
add failgroup FG2 disk '/dev/oracleasm/disks/VOL8'
add failgroup FG3 disk '/dev/oracleasm/disks/VOL9';
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6.删除磁盘组中的磁盘,故障组中的成员,磁盘组
SQL> alter diskgroup DG1 drop disk DG1_VOL5; --删除磁盘组DG1中的磁盘VOL5
SQL> alter diskgroup DG2 drop disk DG2_0003; --删除故障组中的单个成员
SQL> alter diskgroup DG2 drop disks in failgroup FG3; --删除故障组及所有成员,注意此时为drop disks 复数形式
SQL>
alter diskgroup DG1 drop disk DG1_VOL4
add failgroup FG3 disk '/dev/oracleasm/disks/VOL9' name DG1_VOL11;
--删除磁盘组中的磁盘,同时添加故障组FG3
SQL> drop diskgroup DG1; --删除磁盘组
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7.调整磁盘组的容量
----故障组FG3的容量将被调整到G,如果磁盘空间不足,则调整失败
SQL> alter diskgroup DG2 resize disks in failgroup FG3 size 10G;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8.手动Rebalance
SQL> alter diskgroup DG2 rebalance power 3 wait;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9.磁盘组的加载与卸载及内部一致性检查
SQL> alter diskgroup all dismount;
SQL> alter diskgroup DG2 mount;
SQL> alter diskgroup DG2 check all;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10.查看磁盘组的partner
SQL> select name,state,type from v$asm_diskgroup where group_number=3; --查看磁盘组DG3的信息
SQL> select grp,disk,number_kfdpartner from x$kfdpartner where grp=3; --磁盘组DG3使用了个磁盘,且冗余度为标准冗余 3 0 2
--磁盘组的partner 为磁盘组,2 3 1 0
--磁盘组的partner 为磁盘组,2 3 1 2 3 2 0
--磁盘组的partner 为磁盘组,1 3 2 1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.查看ASM配置磁盘搜索信息
SQL> show parameter instance_type
asm实例系统
NAME TYPE VALUE
------------------------------------ ---------------------- ----------
instance_type string asm
普通实例系统
NAME TYPE VALUE
------------------------------------ ----------- ---------
instance_type string RDBMS
SQL> show parameter asm_diskst
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.使用oracleasm创建磁盘
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd2
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sde2
Marking disk "VOL4" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm listdisks VOL1 VOL2 VOL3 VOL4
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3.创建磁盘组语法
CREATE DISKGROUP diskgroup_name [ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ] [ FAILGROUP failgroup_name ] DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4.创建磁盘组
SQL> create diskgroup DG1 normal redundancy disk '/dev/oracleasm/disks/VOL1' name VOL1;
create diskgroup DG1 normal redundancy disk '/dev/oracleasm/disks/VOL1' name VOL1 * ERROR at line 1:
ORA-15018: diskgroup cannot be created --标准冗余至少需要两块磁盘
ORA-15072: command requires at least 2 failure groups, discovered only 1
SQL> create diskgroup DG1 normal redundancy 2 disk '/dev/oracleasm/disks/VOL1' name DG1_VOL1 ,'/dev/oracleasm/disks/VOL2' name DG1_VOL2;
SQL>
create diskgroup DG2 normal redundancy
failgroup FG1 disk '/dev/oracleasm/disks/VOL3' name DG2_FG1_VOL3
failgroup FG2 disk '/dev/oracleasm/disks/VOL4' name DG2_FG2_VOL4;
--使用标准冗余创建磁盘组DG2
SQL> create diskgroup DG_ext external redundancy disk '/dev/oracleasm/disks/VOL10' name DG_ext_VOL10; --外部冗余
SQL>
select group_number gno,name,state,type,total_mb,free_mb,
required_mirror_free_mb rmfmb,usable_file_mb ufmb
from v$asm_diskgroup;
--查看创建的磁盘组
GNO NAME STATE
---------- ------------------------------------------------------------ ----------------------
TYPE TOTAL_MB FREE_MB RMFMB UFMB
------------ ---------- ---------- ---------- ----------
1 BACK MOUNTED
EXTERN 2047 26 0 26
2 DATA MOUNTED
EXTERN 2047 0 0 0
3 OCR MOUNTED
NORMAL 6141 5215 2047 1584
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5.磁盘组添加故障组和成员
--为非故障组添加成员
SQL> alter diskgroup DG1 add disk '/dev/oracleasm/disks/VOL5' name DG1_VOL5;
--为DG2添加一个故障组FG3及成员
SQL> alter diskgroup DG2 add failgroup FG3 disk '/dev/oracleasm/disks/VOL6' name DG2_FG3_VOL6;
--添加故障组及成员 --为DG2的个故障组各添加一个成员
SQL>
alter diskgroup DG2
add failgroup FG1 disk '/dev/oracleasm/disks/VOL7'
add failgroup FG2 disk '/dev/oracleasm/disks/VOL8'
add failgroup FG3 disk '/dev/oracleasm/disks/VOL9';
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6.删除磁盘组中的磁盘,故障组中的成员,磁盘组
SQL> alter diskgroup DG1 drop disk DG1_VOL5; --删除磁盘组DG1中的磁盘VOL5
SQL> alter diskgroup DG2 drop disk DG2_0003; --删除故障组中的单个成员
SQL> alter diskgroup DG2 drop disks in failgroup FG3; --删除故障组及所有成员,注意此时为drop disks 复数形式
SQL>
alter diskgroup DG1 drop disk DG1_VOL4
add failgroup FG3 disk '/dev/oracleasm/disks/VOL9' name DG1_VOL11;
--删除磁盘组中的磁盘,同时添加故障组FG3
SQL> drop diskgroup DG1; --删除磁盘组
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7.调整磁盘组的容量
----故障组FG3的容量将被调整到G,如果磁盘空间不足,则调整失败
SQL> alter diskgroup DG2 resize disks in failgroup FG3 size 10G;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8.手动Rebalance
SQL> alter diskgroup DG2 rebalance power 3 wait;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9.磁盘组的加载与卸载及内部一致性检查
SQL> alter diskgroup all dismount;
SQL> alter diskgroup DG2 mount;
SQL> alter diskgroup DG2 check all;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10.查看磁盘组的partner
SQL> select name,state,type from v$asm_diskgroup where group_number=3; --查看磁盘组DG3的信息
SQL> select grp,disk,number_kfdpartner from x$kfdpartner where grp=3; --磁盘组DG3使用了个磁盘,且冗余度为标准冗余 3 0 2
--磁盘组的partner 为磁盘组,2 3 1 0
--磁盘组的partner 为磁盘组,2 3 1 2 3 2 0
--磁盘组的partner 为磁盘组,1 3 2 1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1356563/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29500582/viewspace-1356563/