向现有的磁盘组加入/删除ASM磁盘

ASM磁盘组支持动态扩展,我们可以向现有的磁盘组动态加入新的磁盘,新磁盘加入后,Oracle通过后台RBAL进行Rebalance,将当前的数据均衡到新增加的磁盘上。Drop磁盘亦会Rebalance。

asm_power_limit参数用于控制Rebalance的速度,取值1~11,数字越大,平衡速度越快,默认值是1。如果该数字很大,则可能因为Rebalance而影响性能。也可以通过在alter diskgroup .. add/drop disk命令中通过rebalance power [1~11]选项控制Rebalance的速度。

 

Ora10gASM-> sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 28 20:11:39 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> col name format a15
SQL> col failgroup format a20
SQL> col path format a30
SQL> select name,failgroup,path from v$asm_disk;

NAME FAILGROUP PATH
--------------- -------------------- ------------------------------
ORCL:VOL4
VOL1 VOL1 ORCL:VOL1
VOL2 VOL2 ORCL:VOL2
VOL3 VOL3 ORCL:VOL3

SQL> select name from v$asm_diskgroup;

NAME
---------------
DATA
FRA
DATA2

SQL> select name,total_mb,free_mb from v$asm_disk;

NAME TOTAL_MB FREE_MB
--------------- ---------- ----------
511 0
VOL1 4094 1872
VOL2 4094 3867
VOL3 511 358

加入磁盘ORCL:VOL4到DATA2磁盘组

SQL> alter diskgroup DATA2 add disk 'ORCL:VOL4' rebalance power 1;

Diskgroup altered.

Rebalance后磁盘空间使用情况

SQL> select name,total_mb,free_mb from v$asm_disk;

NAME TOTAL_MB FREE_MB
--------------- ---------- ----------
VOL1 4094 1872
VOL2 4094 3867
VOL3 511 433
VOL4 511 434

Drop 磁盘操作

SQL> alter diskgroup DATA2 drop disk 'ORCL:VOL4' rebalance power 11;
alter diskgroup DATA2 drop disk 'ORCL:VOL4' rebalance power 11
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15054: disk "ORCL:VOL4" does not exist in diskgroup "DATA2"


SQL> select name,failgroup,path from v$asm_disk;

NAME FAILGROUP PATH
--------------- -------------------- ------------------------------
VOL1 VOL1 ORCL:VOL1
VOL2 VOL2 ORCL:VOL2
VOL3 VOL3 ORCL:VOL3
VOL4 VOL4 ORCL:VOL4

SQL> alter diskgroup DATA2 drop disk 'VOL4' rebalance power 11;

Diskgroup altered.

SQL> select name,failgroup,path from v$asm_disk;

NAME FAILGROUP PATH
--------------- -------------------- ------------------------------
VOL1 VOL1 ORCL:VOL1
VOL2 VOL2 ORCL:VOL2
VOL3 VOL3 ORCL:VOL3
VOL4 VOL4 ORCL:VOL4

SQL> select name,total_mb,free_mb from v$asm_disk;

NAME TOTAL_MB FREE_MB
--------------- ---------- ----------
511 0
VOL1 4094 1872
VOL2 4094 3867
VOL3 511 358

SQL> select name,failgroup,path from v$asm_disk;

NAME FAILGROUP PATH
--------------- -------------------- ------------------------------
ORCL:VOL4
VOL1 VOL1 ORCL:VOL1
VOL2 VOL2 ORCL:VOL2
VOL3 VOL3 ORCL:VOL3

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Ora10gASM-> ps -ef | grep rbal
oracle 5291 1 0 19:30 ? 00:00:03 asm_rbal_+ASM
oracle 5469 1 0 19:44 ? 00:00:01 ora_rbal_benbo
oracle 5970 4700 0 20:25 pts/1 00:00:00 grep rbal
Ora10gASM->

posted @ 2012-08-30 11:01  einyboy  阅读(3009)  评论(0编辑  收藏  举报