asm 磁盘组 增删磁盘组

sunha6 的asm 磁盘组空间有点紧张,而sunha1 的利用率又很低,于是准备从sunha1_N 删除两个磁盘加到sunha6上

注意,我们采用的NORmal 的冗余方式,所以删增减磁盘的时候,一定要2给磁盘为一个操作单位,要么删两个,要门加两个
每个failgroup 各增删一个,要么不操作,免得引起麻烦。

现在sunha1 上查看asm 磁盘情况:
[code]

col  name  for a10
col  group_number  for 99999
col  disk_number for  99999
col  state  for a10
col  failgroup  for a15
col path  for a50

set linesize 132 

select name, group_number , disk_number ,state ,failgroup ,path  from v$asm_disk ;

2013-03-07


NAME            GROUP_NUMBER DISK_NUMBER STATE      FAILGROUP  PATH
--------------- ------------ ----------- ---------- ---------- --------------------------------------------------
                           0          56 NORMAL                /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s1
SUNHA1_N_0005              1           5 NORMAL     SUNHA2_F2  /dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6
SUNHA1_N_0004              1           4 NORMAL     SUNHA2_F2  /dev/rdsk/c4t6006016023912800B0557B32B813E011d0s6
SUNHA1_N_0003              1           3 NORMAL     SUNHA2_F2  /dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6  -------
SUNHA1_N_0000              1           0 NORMAL     SUNHA1_F1  /dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6
SUNHA1_N_0002              1           2 NORMAL     SUNHA1_F1  /dev/rdsk/c4t6006016010511E008D4BB66773C4DF11d0s6
SUNHA1_N_0001              1           1 NORMAL     SUNHA1_F1  /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6

[/code]

为了便于管理,我们决定删除  SUNHA1_N_0005   跟 SUNHA1_N_0000   两个磁盘,

分别来自sunha2_f2 和SUNHA1_F1 两个failgroup
确保两个磁盘组里的磁盘是相等的。

执行删除操作

[code]
SYS AS SYSDBA at +ASM > alter diskgroup sunha1_n drop disk SUNHA1_N_0005 ;

´ÅÅÌ×éÒѱä¸ü¡£

SYS AS SYSDBA at +ASM > alter diskgroup sunha1_n drop disk SUNHA1_N_0000 ;

´ÅÅÌ×éÒѱä¸ü¡£

SYS AS SYSDBA at +ASM > select * from v$asm_operation;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------
           1 REBAL      RUN               1          1         37     105457       1680          62

SYS AS SYSDBA at +ASM > select name, group_number , disk_number ,state ,failgroup ,path  from v$asm_disk ;
NAME            GROUP_NUMBER DISK_NUMBER STATE            FAILGROUP  PATH
--------------- ------------ ----------- ---------------- ---------- --------------------------------------------------
                           0          56 NORMAL                      /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s1
SUNHA1_N_0005              1           5 DROPPING         SUNHA2_F2  /dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6
SUNHA1_N_0004              1           4 NORMAL           SUNHA2_F2  /dev/rdsk/c4t6006016023912800B0557B32B813E011d0s6
SUNHA1_N_0003              1           3 NORMAL           SUNHA2_F2  /dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6
SUNHA1_N_0000              1           0 DROPPING         SUNHA1_F1  /dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6
SUNHA1_N_0002              1           2 NORMAL           SUNHA1_F1  /dev/rdsk/c4t6006016010511E008D4BB66773C4DF11d0s6
SUNHA1_N_0001              1           1 NORMAL           SUNHA1_F1  /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6

ÒÑÑ¡Ôñ62ÐС£
[/code]

SUNHA1_N_0005   SUNHA1_N_0000   的磁盘状态变为droping 了

从 v$asm_operation 看到, 磁盘组正在做rebalance

[code]
SYS AS SYSDBA at +ASM >  select * from v$asm_operation;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------
           1 REBAL      RUN               1          1       5274     106309       3131          32

SYS AS SYSDBA at +ASM > /

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------
           1 REBAL      RUN               1          1      81424     109699       3483           8

[/code]

还剩8分钟就rebalance 完了。

这里需要注意的是,删除磁盘前,一定要确认,剩余的磁盘空间能够容下删除的磁盘上被占用的空间数量。

[code]

[oracle@sunha2.pc.com ~]$ /data/oracle/crontab/sunha1/ORACLE_MONITOR/check_asm.sh

NAME                   STATE        MOUNT_STAT       PATH                                                 TOTAL(GB)   USED%
--------------------   ----------   --------------   --------------------------------------------------   ---------   ----------
SUNHA1_N_0000          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6        99.75   50.54
SUNHA1_N_0001          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6        99.75   50.55
SUNHA1_N_0002          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008D4BB66773C4DF11d0s6        99.75   50.58
SUNHA1_N_0003          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6        99.75   50.55
SUNHA1_N_0004          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800B0557B32B813E011d0s6        99.75   50.59
SUNHA1_N_0005          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6        99.75   50.53
[oracle@sunha2.pc.com ~]$

删除前,一共是6个盘,每个50%的使用率 ,我们在删除磁盘前,对磁盘空间进行了整理,回收了空间,

到删除前,使用率在32% 左右,

删除2个磁盘后,整个磁盘组的使用率在48% 左右。

[oracle@sunha2.pc.com ~]$ /data/oracle/crontab/sunha1/ORACLE_MONITOR/check_asm.sh

NAME                   STATE        MOUNT_STAT       PATH                                                 TOTAL(GB)   USED%
--------------------   ----------   --------------   --------------------------------------------------   ---------   ----------
SUNHA1_N_0000          DROPPING     CACHED           /dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6        99.75   6.76
SUNHA1_N_0001          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6        99.75   48.59
SUNHA1_N_0002          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008D4BB66773C4DF11d0s6        99.75   48.58
SUNHA1_N_0003          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6        99.75   48.59
SUNHA1_N_0004          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800B0557B32B813E011d0s6        99.75   48.58
SUNHA1_N_0005          DROPPING     CACHED           /dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6        99.75   6.76
[/code]


最后看看是否热balance完了,切记一定rebalance 完了,才可以进行后续操作,免得破坏磁盘组。

[code]

SYS AS SYSDBA at +ASM > select  * from v$asm_operation ;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------
           1 REBAL      RUN               1          1     111058     111985       3682           0

SYS AS SYSDBA at +ASM > /

δѡ¶¨ÐР

SYS AS SYSDBA at +ASM >
SYS AS SYSDBA at +ASM > select name, group_number , disk_number ,state ,failgroup ,path  from v$asm_disk ;
NAME            GROUP_NUMBER DISK_NUMBER STATE            FAILGROUP  PATH
--------------- ------------ ----------- ---------------- ---------- --------------------------------------------------
                           0          56 NORMAL                      /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s1
                           0          57 NORMAL                      /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6
                           0          58 NORMAL                      /dev/rdsk/c4t6006016023912800ECE98D798FB1DF11d0s1
SUNHA1_N_0004              1           4 NORMAL           SUNHA2_F2  /dev/rdsk/c4t6006016023912800B0557B32B813E011d0s6
SUNHA1_N_0003              1           3 NORMAL           SUNHA2_F2  /dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6
SUNHA1_N_0002              1           2 NORMAL           SUNHA1_F1  /dev/rdsk/c4t6006016010511E008D4BB66773C4DF11d0s6
SUNHA1_N_0001              1           1 NORMAL           SUNHA1_F1  /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6


[/code]

v$asm_operation  没有记录了,说明rebalance 完了

sunha1_n 磁盘组里已经没有 SUNHA1_N_0005   SUNHA1_N_0000  这两个磁盘了。

接下来 就可以把这俩磁盘加到sunha6 上去了。


添加磁盘也是要两个磁盘组每个组天加相等的磁盘数目。

[code ]
[oracle@sunha6 ~]$ cd /dev/rdsk
[oracle@sunha6 rdsk]$ ls /dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6
/dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6
[oracle@sunha6 rdsk]$ ls /dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6
/dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6
[oracle@sunha6 rdsk]$


export ORACLE_SID=+ASM


SYS AS SYSDBA at +ASM > col  name  for a10
SYS AS SYSDBA at +ASM > col  group_number  for 99999
SYS AS SYSDBA at +ASM > col  disk_number for  99999
SYS AS SYSDBA at +ASM > col  state  for a10
SYS AS SYSDBA at +ASM > col  failgroup  for a15
SYS AS SYSDBA at +ASM > col path  for a50
SYS AS SYSDBA at +ASM >
SYS AS SYSDBA at +ASM > set linesize 132 

SYS AS SYSDBA at +ASM > col name for a20
SYS AS SYSDBA at +ASM > /

NAME                 GROUP_NUMBER STATE      FAILGROUP       PATH
-------------------- ------------ ---------- --------------- --------------------------------------------------
SUNHA6_N_0005                   1 NORMAL     SUNHA6_F1       /dev/rdsk/c4t6006016010511E002C5FFF791CB9DF11d0s6
SUNHA6_N_0007                   1 NORMAL     SUNHA6_F1       /dev/rdsk/c4t6006016010511E002A5FFF791CB9DF11d0s6
SUNHA6_N_0006                   1 NORMAL     SUNHA6_F1       /dev/rdsk/c4t6006016010511E002B5FFF791CB9DF11d0s6
SUNHA6_N_0004                   1 NORMAL     SUNHA6_F1       /dev/rdsk/c4t6006016010511E007020339AC0A5DF11d0s6
SUNHA6_N_0009                   1 NORMAL     SUNHA6_F2       /dev/rdsk/c4t6006016023912800C8CB861C1FB9DF11d0s6
SUNHA6_N_0011                   1 NORMAL     SUNHA6_F2       /dev/rdsk/c4t6006016023912800C9CB861C1FB9DF11d0s6
SUNHA6_N_0010                   1 NORMAL     SUNHA6_F2       /dev/rdsk/c4t6006016023912800CACB861C1FB9DF11d0s6
SUNHA6_N_0008                   1 NORMAL     SUNHA6_F2       /dev/rdsk/c4t6006016023912800ECE98D798FB1DF11d0s6

[/cdoe]

注意: 我们的存储是分为两套阵列的,

每套阵列只为一个failgroup提供磁盘,这样才会在存储阵列坏掉的时候,不会影响到数据库运行。
所以切记这点。

[code]

SYS AS SYSDBA at +ASM >
SYS AS SYSDBA at +ASM > alter diskgroup  sunha6_n 
  2  add failgroup SUNHA6_F1 disk '/dev/rdsk/c4t6006016010511E008F4BB66773C4DF11d0s6' name SUNHA6_N_0003
  3  add failgroup SUNHA6_F2 disk '/dev/rdsk/c4t6006016023912800B1557B32B813E011d0s6' name SUNHA6_N_0012;

Diskgroup altered.

SYS AS SYSDBA at +ASM > select  * from v$asm_operation ;

GROUP_NUMBER OPERATION  STATE           POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- -----------
           1 REBAL      RUN                 1          1        122     207681       1560         133

[/code]

好了磁盘添加完了。

等待rebalance 完了,就可以。

补充一点,这里的rebalance 我们只指定了一个进程,可以加字句 power N  就可以指定N 的进程同时rebalance ,

白天指定太多,会引起较大负载,就让他慢慢跑吧。






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-755458/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-755458/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值