oracleasm磁盘管理基础篇(一)(六)

2014-11-24 11:26:23 · 作者: · 浏览: 7
disks/ASMDISK7 DATAGROUP3 DATAGROUP3_DISK10 1019 1019 966 NORMAL FAILGROUP_3 REGULAR /dev/oracleasm/disks/ASMDISK10 DATAGROUP3 DATAGROUP3_DISK9 0 1019 966 DROPPING FAILGROUP_2 REGULAR SQL> r 1 SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH 2 FROM V$ASM_DISKGROUP A, V$ASM_DISK B 3 WHERE A.GROUP_NUMBER = B.GROUP_NUMBER 4* AND B.NAME LIKE 'DATAGROUP3%' G_NAME D_NAME OS_MB TOTAL_MB FREE_MB STATE FAILGROUP FAILGRO PATH --------------- ------------------------- ---------- ---------- ---------- -------- ------------------------------ ------- ---------------------------------------- DATAGROUP3 DATAGROUP3_DISK7 1019 1019 966 NORMAL FAILGROUP_1 REGULAR /dev/oracleasm/disks/ASMDISK7 DATAGROUP3 DATAGROUP3_DISK10 1019 1019 966 NORMAL FAILGROUP_3 REGULAR /dev/oracleasm/disks/ASMDISK10 SQL>


另外,如果删除磁盘组的磁盘,那么该磁盘组将故障磁盘的数据进行再次平衡,这时要保证磁盘空间足以容纳故障磁盘的数据进行镜像,否则会失败。至此可以通过添加磁盘和删除磁盘both的形式,保证磁盘组有足够的空间完成数据的rebalance。

eg:

SQL> r
  1  SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH
  2    FROM V$ASM_DISKGROUP A, V$ASM_DISK B
  3   WHERE A.GROUP_NUMBER = B.GROUP_NUMBER
  4*    AND B.NAME LIKE 'DATAGROUP3%'

G_NAME          D_NAME                         OS_MB   TOTAL_MB    FREE_MB STATE    FAILGROUP                      FAILGRO PATH
--------------- ------------------------- ---------- ---------- ---------- -------- ------------------------------ ------- ----------------------------------------
DATAGROUP3      DATAGROUP3_DISK7                1019       1019        966 NORMAL   FAILGROUP_1                    REGULAR /dev/oracleasm/disks/ASMDISK7
DATAGROUP3      DATAGROUP3_DISK10               1019       1019        966 NORMAL   FAILGROUP_3                    REGULAR /dev/oracleasm/disks/ASMDISK10

SQL> alter diskgroup datagroup3 drop disk datagroup3_disk10 add failgroup failgroup_2 disk '/dev/oracleasm/disks/ASMDISK8';

Diskgroup altered.
SQL> SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH
  2    FROM V$ASM_DISKGROUP A, V$ASM_DISK B
  3   WHERE A.GROUP_NUMBER = B.GROUP_NUMBER
  4     AND B.NAME LIKE 'DATAGROUP3%';

G_NAME          D_NAME                         OS_MB   TOTAL_MB    FREE_MB STATE    FAILGROUP                      FAILGRO PATH
--------------- ------------------------- ---------- ---------- ---------- -------- ------------------------------ ------- ----------------------------------------
DATAGROUP3      DATAGROUP3_0001                 1019       1019        966 NORMAL   FAILGROUP_2                    REGULAR /dev/oracleasm/disks/ASMDISK8
DATAGROUP3      DATAGROUP3_DISK7                1019       1019        966 NORMAL   FAILGROUP_1                    REGULAR /dev/oracleasm/disks/ASMDISK7

SQL> 

If you specify the FORCE clause for the drop operation, the disk is dropped even if Oracle ASM cannot read or write to the disk. You cannot use the FORCE flag when dropping a disk from an external redundancy disk group.

Caution:

A DROP FORCE operation leaves data at reduced redundancy until the subsequent rebalance operation completes. This increases your exposure to data loss if there is a subsequent disk failure during rebalancing. Use DROP FORCE with caution.

(五)向磁盘组中添加磁盘和故障组

当向现有的磁盘组添加磁盘的时候也是在线的rebalance数据,可以通过v$asm_operation视图查看进度:

eg:

SQL> SELECT A.NAME G_NAME, B.NAME D_NAME,B.OS_MB,B.TOTAL_MB,B.FREE_MB,B.STATE, FAILGROUP, B.FAILGROUP_TYPE, PATH
  2    FROM V$ASM_DISKGROUP A, V$ASM_DISK B
  3   WHERE A.GROUP_NUMBER = B.GROUP_NUMBER
  4     AND B.NAME LIKE 'DATAGROUP3%';

G_NAME          D_NAME                         OS_MB   TOTAL_MB    FR