ASMのリバランス機能を確認してみましょう。
[oracle@DB01 ~]$ sqlplus / as sysdba
SQL> drop tablespace TBS2 including contents and datafiles;
表領域が削除されました。
[grid@DB01 ~]$ sqlplus / as sysasm
SQL> drop diskgroup DG_HIGH;
Diskgroup dropped.
まずは既に作成してあった高冗長性のASMディスクグループを削除します。
ディスクグループに含まれている表領域も事前に削除しておきます。
set linesize 150 pages 500
col NAME for a12
col HEADER_STATUS for a14
col PATH for a40
select GROUP_NUMBER, DISK_NUMBER, NAME, HEADER_STATUS, PATH
from V$ASM_DISK
where GROUP_NUMBER = 0;
GROUP_NUMBER DISK_NUMBER NAME HEADER_STATUS PATH
------------ ----------- ------------ -------------- ----------------------------------------
0 0 FORMER /dev/sdg1
0 3 FORMER /dev/sdf1
0 2 FORMER /dev/sdh1
削除したディスクグループに含まれるディスクのHEADER_STATUSがFORMERに変わりました。
以前ディスクグループに含まれていた名残です。
create diskgroup DG_NORMAL
normal redundancy
regular failgroup FG1 disk '/dev/sdf1' name DG_NORMAL_DISK1
regular failgroup FG2 disk '/dev/sdg1' name DG_NORMAL_DISK2
regular failgroup FG3 disk '/dev/sdh1' name DG_NORMAL_DISK3
attribute
'COMPATIBLE.ASM' = '11.2.0.2',
'COMPATIBLE.RDBMS' = '11.2';
Diskgroup created.
そのディスクを利用して新しく標準冗長性のディスクグループを作成します。
set lines 110 pages 500
col NAME for a10
col STATE for a10
col TYPE for a8
col COMPATIBILITY for a15
col DATABASE_COMPATIBILITY for a15
select GROUP_NUMBER,
NAME,
TYPE,
TOTAL_MB,
FREE_MB,
HOT_USED_MB + COLD_USED_MB "USED_MB",
REQUIRED_MIRROR_FREE_MB,
USABLE_FILE_MB
from V$ASM_DISKGROUP
where NAME = 'DG_NORMAL' ;
GROUP_NUMBER NAME TYPE TOTAL_MB FREE_MB USED_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
------------ ---------- -------- ---------- ---------- ---------- ----------------------- --------------
2 DG_NORMAL NORMAL 3069 2910 159 1023 943
作成したディスクグループのグループナンバーを確認します。
set lines 110 pages 500
col NAME for a15
col HEADER_STATUS for a14
col PATH for a12
col FAILGROUP for a16
select GROUP_NUMBER, DISK_NUMBER, HEADER_STATUS, PATH, NAME, TOTAL_MB, FREE_MB
from V$ASM_DISK
where GROUP_NUMBER = 2
order by 2 ;
GROUP_NUMBER DISK_NUMBER HEADER_STATUS PATH NAME TOTAL_MB FREE_MB
------------ ----------- -------------- ------------ --------------- ---------- ----------
2 0 MEMBER /dev/sdf1 DG_NORMAL_DISK1 1023 963
2 1 MEMBER /dev/sdg1 DG_NORMAL_DISK2 1023 963
2 2 MEMBER /dev/sdh1 DG_NORMAL_DISK3 1023 963
確認したグループナンバーをキーにして、ディスクグループに含まれる各ディスクの利用容量を確認します。
create bigfile tablespace TBS3
datafile '+DG_NORMAL(DATAFILE)' size 1200M;
作成したディスクグループに新しく1.2GBの表領域を作成します。
set lines 110 pages 500
col NAME for a15
col HEADER_STATUS for a14
col PATH for a12
col FAILGROUP for a16
select GROUP_NUMBER, DISK_NUMBER, HEADER_STATUS, PATH, NAME, TOTAL_MB, FREE_MB
from V$ASM_DISK
where GROUP_NUMBER = 2
order by 2 ;
GROUP_NUMBER DISK_NUMBER HEADER_STATUS PATH NAME TOTAL_MB FREE_MB
------------ ----------- -------------- ------------ --------------- ---------- ----------
2 0 MEMBER /dev/sdf1 DG_NORMAL_DISK1 1023 161
2 1 MEMBER /dev/sdg1 DG_NORMAL_DISK2 1023 161
2 2 MEMBER /dev/sdh1 DG_NORMAL_DISK3 1023 162
再度、ディスクの空き容量を確認してみると、均等に減っていることがわかります。
これがリバランスです。
次回はここに新しくディスクを追加したときのリバランスを確認してみます。
[oracle@DB01 ~]$ sqlplus / as sysdba
SQL> drop tablespace TBS2 including contents and datafiles;
表領域が削除されました。
[grid@DB01 ~]$ sqlplus / as sysasm
SQL> drop diskgroup DG_HIGH;
Diskgroup dropped.
まずは既に作成してあった高冗長性のASMディスクグループを削除します。
ディスクグループに含まれている表領域も事前に削除しておきます。
set linesize 150 pages 500
col NAME for a12
col HEADER_STATUS for a14
col PATH for a40
select GROUP_NUMBER, DISK_NUMBER, NAME, HEADER_STATUS, PATH
from V$ASM_DISK
where GROUP_NUMBER = 0;
GROUP_NUMBER DISK_NUMBER NAME HEADER_STATUS PATH
------------ ----------- ------------ -------------- ----------------------------------------
0 0 FORMER /dev/sdg1
0 3 FORMER /dev/sdf1
0 2 FORMER /dev/sdh1
削除したディスクグループに含まれるディスクのHEADER_STATUSがFORMERに変わりました。
以前ディスクグループに含まれていた名残です。
create diskgroup DG_NORMAL
normal redundancy
regular failgroup FG1 disk '/dev/sdf1' name DG_NORMAL_DISK1
regular failgroup FG2 disk '/dev/sdg1' name DG_NORMAL_DISK2
regular failgroup FG3 disk '/dev/sdh1' name DG_NORMAL_DISK3
attribute
'COMPATIBLE.ASM' = '11.2.0.2',
'COMPATIBLE.RDBMS' = '11.2';
Diskgroup created.
そのディスクを利用して新しく標準冗長性のディスクグループを作成します。
set lines 110 pages 500
col NAME for a10
col STATE for a10
col TYPE for a8
col COMPATIBILITY for a15
col DATABASE_COMPATIBILITY for a15
select GROUP_NUMBER,
NAME,
TYPE,
TOTAL_MB,
FREE_MB,
HOT_USED_MB + COLD_USED_MB "USED_MB",
REQUIRED_MIRROR_FREE_MB,
USABLE_FILE_MB
from V$ASM_DISKGROUP
where NAME = 'DG_NORMAL' ;
GROUP_NUMBER NAME TYPE TOTAL_MB FREE_MB USED_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
------------ ---------- -------- ---------- ---------- ---------- ----------------------- --------------
2 DG_NORMAL NORMAL 3069 2910 159 1023 943
作成したディスクグループのグループナンバーを確認します。
set lines 110 pages 500
col NAME for a15
col HEADER_STATUS for a14
col PATH for a12
col FAILGROUP for a16
select GROUP_NUMBER, DISK_NUMBER, HEADER_STATUS, PATH, NAME, TOTAL_MB, FREE_MB
from V$ASM_DISK
where GROUP_NUMBER = 2
order by 2 ;
GROUP_NUMBER DISK_NUMBER HEADER_STATUS PATH NAME TOTAL_MB FREE_MB
------------ ----------- -------------- ------------ --------------- ---------- ----------
2 0 MEMBER /dev/sdf1 DG_NORMAL_DISK1 1023 963
2 1 MEMBER /dev/sdg1 DG_NORMAL_DISK2 1023 963
2 2 MEMBER /dev/sdh1 DG_NORMAL_DISK3 1023 963
確認したグループナンバーをキーにして、ディスクグループに含まれる各ディスクの利用容量を確認します。
create bigfile tablespace TBS3
datafile '+DG_NORMAL(DATAFILE)' size 1200M;
作成したディスクグループに新しく1.2GBの表領域を作成します。
set lines 110 pages 500
col NAME for a15
col HEADER_STATUS for a14
col PATH for a12
col FAILGROUP for a16
select GROUP_NUMBER, DISK_NUMBER, HEADER_STATUS, PATH, NAME, TOTAL_MB, FREE_MB
from V$ASM_DISK
where GROUP_NUMBER = 2
order by 2 ;
GROUP_NUMBER DISK_NUMBER HEADER_STATUS PATH NAME TOTAL_MB FREE_MB
------------ ----------- -------------- ------------ --------------- ---------- ----------
2 0 MEMBER /dev/sdf1 DG_NORMAL_DISK1 1023 161
2 1 MEMBER /dev/sdg1 DG_NORMAL_DISK2 1023 161
2 2 MEMBER /dev/sdh1 DG_NORMAL_DISK3 1023 162
再度、ディスクの空き容量を確認してみると、均等に減っていることがわかります。
これがリバランスです。
次回はここに新しくディスクを追加したときのリバランスを確認してみます。