查看磁盘状态
sqlplus / as sysasm
set lin 200
col path for a50
select name,path,state,mount_status,header_status from v$asm_disk;
ignored状态也是不正常的。
closed表示磁盘未被当前实例使用,member表示这个磁盘已经是某个diskgroup的成员了
因为header_status状态为member,所以如果直接alter diskgroup add disk加磁盘的话,会报错
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15033: disk '/dev/rhdiskpower72' belongs to diskgroup "DATADG"
ORA-15033: disk '/dev/rhdiskpower71' belongs to diskgroup "DATADG"
首先做磁盘清理,把header_status状态改成CANDIDATE
清理磁盘
dd if=/dev/zero of=/dev/rhdiskpower84 bs=1k count=1
--清理后再次查看磁盘状态
header_status的状态为candidate表示可以添加进磁盘组了。而且igore的两个盘也closed。
添加磁盘
sqlplus / as sysasm
alter diskgroup DG_DATA add disk '/dev/rhdiskpower71','/dev/rhdiskpower72','/dev/rhdiskpower73','/dev/rhdiskpower74','/dev/rhdiskpower75','/dev/rhdiskpower76','/dev/rhdiskpower77','/dev/rhdiskpower78','/dev/rhdiskpower79','/dev/rhdiskpower80','/dev/rhdiskpower81','/dev/rhdiskpower82','/dev/rhdiskpower83','/dev/rhdiskpower84' rebalance power 10;
因为磁盘要做rebalance,最好在rebalance完后再使用磁盘组
select name,path,state,mount_status,header_status from v$asm_disk;
select * from v$asm_operation;
可以参考我之前写的一篇关于asm磁盘管理的文章
https://blog.csdn.net/qq_40687433/article/details/78295692