调整存储节点的grid disks的大小
调整存储节点1的grid disks的大小
以root用户登陆到存储节点1并执行下面命令 :
cellcli -e alter griddisk DATA_CD_00_exacell01, DATA_CD_01_exacell01, DATA_CD_02_exacell01, DATA_CD_03_exacell01, DATA_CD_04_exacell01, DATA_CD_05_exacell01, DATA_CD_06_exacell01, DATA_CD_07_exacell01, DATA_CD_08_exacell01, DATA_CD_09_exacell01, DATA_CD_10_exacell01, DATA_CD_11_exacell01 size=100000M;
调整存储节点2的grid disks的大小
以root用户登陆到存储节点2并执行下面命令 :
cellcli -e alter griddisk DATA_CD_00_exacell02, DATA_CD_01_exacell02, DATA_CD_02_exacell02, DATA_CD_03_exacell02, DATA_CD_04_exacell02, DATA_CD_05_exacell02, DATA_CD_06_exacell02, DATA_CD_07_exacell02, DATA_CD_08_exacell02, DATA_CD_09_exacell02, DATA_CD_10_exacell02, DATA_CD_11_exacell02 size=100000M;
调整存储节点3的grid disks的大小
以root用户登陆到存储节点3并执行下面命令 :
cellcli -e alter griddisk DATA_CD_00_exacell03, DATA_CD_01_exacell03, DATA_CD_02_exacell03, DATA_CD_03_exacell03, DATA_CD_04_exacell03, DATA_CD_05_exacell03, DATA_CD_06_exacell03, DATA_CD_07_exacell03, DATA_CD_08_exacell03, DATA_CD_09_exacell03, DATA_CD_10_exacell03, DATA_CD_11_exacell03 size=100000M;
调整其它存储节点的grid disks的大小
如果您的Exadata服务器高于1/4配,比如拥有7个存储节点的1/2配,需要在其它的存储节点上重复执行上面的命令。
调整ASM disks的大小
以Grid Infrastructure用户登陆到计算节点1,使用sqlplus以sysasm身份登陆到ASM实例上 :
$ sqlplus / as sysasm
使用下面命令调整磁盘组DATA中的所有盘的大小 :
SQL> ALTER DISKGROUP DATA RESIZE ALL;
注释:这里不需指定新的磁盘的大小,因为ASM会从grid disks的大小获取到。
上面命令将会触发磁盘组DATA的rebalance操作。
下面的命令可以监控到磁盘组DATA的rebalance是否完成。
SQL> select * from gv$asm_operation;
一旦上面的命令返回的结果是“no rows selected”,说明rebalance操作完成。磁盘组DATA的磁盘将显示新的大小。
使用下面命令来查看磁盘组DATA的磁盘的大小 :
SQL> select name, total_mb from v$asm_disk_stat where name like 'DATA%';
对于磁盘组DATA的所有磁盘,TOTAL_MB将显示100000M。
结论
如果Exadata的cell disks上有剩余空间,磁盘组的大小的调整可以通过两步来完成 – 调整各个存储节点的grid disks的大小;然后,在其中一个ASM实例中调整磁盘的大小,完成rebalance操作。