代码添加集群磁盘

生产环境因堡垒机因堡垒机影响、系统影响导致无法打开图形界面查看那些磁盘可以加入到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;

猜你喜欢

转载自blog.csdn.net/az65381973/article/details/87357882