生产环境因堡垒机因堡垒机影响、系统影响导致无法打开图形界面查看那些磁盘可以加入到ASM磁盘组,通过grid用户进入sqlplus / as sysasm 查看结果
首先使用语句查看:
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
GROUP_NUMBER DISK_NUMBER MODE_ST HEADER_STATU MODE_ST STATE TOTAL_MB FREE_MB NAME PATH
------------ ----------- ------- ------------ ------- -------- ---------- ---------- ------------------------------ ----------------------------------------
0 0 ONLINE CANDIDATE ONLINE NORMAL 0 0 /dev/asm-diske
2 0 ONLINE MEMBER ONLINE NORMAL 5120 5032 NEWDATA_0000 /dev/asm-diskd
1 0 ONLINE MEMBER ONLINE NORMAL 5120 732 DATA_0000 /dev/asm-diskc
3 0 ONLINE MEMBER ONLINE NORMAL 5120 5020 REDO_0000 /dev/asm-diskb
其中HEADER_STATU:CANDIDATE ,表示/dev/asm-diske 未加入任何磁盘组,所以为CANDIDATE(候选者),TOTAL_MB和FREE_MB 显示也为0,name也任何显示的值,当然GROUP_NUMBER的值也为0,可以从这几个角度去判断
使用命令:alter diskgroup NEWDATA add disk '/dev/asm-diske'; 加入NEWDATA磁盘组后,同样也会变成MEMBER(成员),属于磁盘组NEWDATA的成员
另外一种方法:
SQL> select path,state,mount_status from v$asm_disk;
PATH STATE MOUNT_S
---------------------------------------- -------- -------
/dev/asm-diske NORMAL CLOSED
/dev/asm-diskd NORMAL CACHED
/dev/asm-diskc NORMAL CACHED
/dev/asm-diskb NORMAL CACHED
查看mount_status,未加入磁盘组之前是CLOSED,加入之后是CACHED
-----创建磁盘组叫NEWDATA,所选的磁盘是/dev/asm-diske
create diskgroup NEWDATA external redundancy disk '/dev/asm-diske';
如果一块不够还可以添加:
alter diskgroup newdata add disk '/dev/asm-diskd' rebalance power 8; ----这后面的power 8可以理解为并行,在11G中是1-11,机器性能越好可以选择更高
如果需要删除磁盘组中的某一块磁盘:
(---先查询磁盘组信息
col path for a40;
set line 200;
select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;)
查询所得NAME,在如下语句中DROP DISK 'NAME',就是所得NAME
ALTER DISKGROUP newdata DROP DISK NEWDATA_0000 rebalance power 11; ---NEWDATA_0000就是查询出来的NAME
删除磁盘组,新建的磁盘组是NEWDATA,要删除,使用如下语句
drop diskgroup NEWDATA including contents;