ASM を味わう ~ DISK Group に DISK を追加 ~ その8

投稿日: 2005年9月28日

<ASM を味わう ~ DISK Group に DISK を追加 ~ その8>
ペンネーム:ダーリン

今週は、DISK Group に DISK を追加して見ましょう。
こちらの都合で申し訳ありませんが、先週壊した DISK を使いまわすので、ま
ずは DROP からです。

もう一度 DISK を確認します。

SQL> select mount_status
  2       , header_status
  3       , mode_status
  4       , state
  5       , total_mb
  6       , free_mb
  7       , name
  8       , path
  9    from v$asm_disk;

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE    TOTAL_MB    FREE_MB NAME       PATH
------------- --------------- ------------ ------ ---------- ---------- ---------- --------------
CACHED        MEMBER          ONLINE       NORMAL      10236       9779 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL      10236       9785 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL      10236       9789 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL      10236       9796 DATA_0001  /dev/raw/raw2
CACHED        CANDIDATE       OFFLINE      HUNG        10236          0 DATA_0000  /dev/raw/raw1

先週 DROP したはずですが、HUNG とか怪しい状態になっています。
ためしに、このままこの DISK を ADD して見ます。(なぜなら、CANDIDATE
は、どこかの DISK GROUP に追加できる DISK だからです。)

では、

SQL> alter diskgroup data add disk '/dev/raw/raw1';
alter diskgroup data add disk '/dev/raw/raw1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15029: disk '/dev/raw/raw1' is already mounted by this instance

すでにマウントされているからダメなようです。
先週 DROP したつもりでしたが、、、

では、念のため、再度 DROP しましょう。

SQL> alter diskgroup data drop disk data_0000;
alter diskgroup data drop disk data_0000
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15071: ASM disk "DATA_0000" is already being dropped

次は、もう DROP されているからだめだといわれました。(どっちなんだ。)

つまり、DISK のステータスが怪しくなっている場合は、どうもまともにコマ
ンドを受け付けてくれないようです。受け付けてはくれるようですが、動作が
怪しい。

では、FORCE オプションをつけましょう。これがだめならどうしよう。

SQL> alter diskgroup data drop disk data_0000 force;

Diskgroup altered.

おっ。

SQL> select mount_status
  2       , header_status
  3       , mode_status
  4       , state
  5       , total_mb
  6       , free_mb
  7       , name
  8       , path
  9    from v$asm_disk;

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CACHED        MEMBER          ONLINE       NORMAL       10236     9779 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9785 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9789 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9796 DATA_0001  /dev/raw/raw2
CACHED        CANDIDATE       OFFLINE      DROPPING     10236        0 DATA_0000  /dev/raw/raw1

さすが強制オプションは強力です。

SQL> /

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CACHED        MEMBER          ONLINE       NORMAL       10236     9779 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9785 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9789 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9796 DATA_0001  /dev/raw/raw2
CACHED        CANDIDATE       OFFLINE      FORCING      10236        0 DATA_0000  /dev/raw/raw1

SQL> /

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CLOSED        CANDIDATE       ONLINE       NORMAL       10236        0            /dev/raw/raw1
CACHED        MEMBER          ONLINE       NORMAL       10236     9781 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9784 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9789 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9795 DATA_0001  /dev/raw/raw2

何とかこれで切り離せたようです。

では、いざ、DISK を追加します。

SQL> alter diskgroup data add disk '/dev/raw/raw1';

Diskgroup altered.

SQL> select mount_status
  2       , header_status
  3       , mode_status
  4       , state
  5       , total_mb
  6       , free_mb
  7       , name
  8       , path
  9    from v$asm_disk;

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CACHED        MEMBER          ONLINE       NORMAL       10236     9786 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9789 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9795 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9802 DATA_0001  /dev/raw/raw2
CACHED        MEMBER          ONLINE       NORMAL       10236    10211 DATA_0000  /dev/raw/raw1

SQL> /

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CACHED        MEMBER          ONLINE       NORMAL       10236     9854 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9855 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9867 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9869 DATA_0001  /dev/raw/raw2
CACHED        MEMBER          ONLINE       NORMAL       10236     9938 DATA_0000  /dev/raw/raw1

SQL> /

MOUNT_STATUS  HEADER_STATUS   MODE_STATUS  STATE     TOTAL_MB  FREE_MB NAME       PATH
------------- --------------- ------------ -------- --------- -------- ---------- -------------
CACHED        MEMBER          ONLINE       NORMAL       10236     9859 DATA_0004  /dev/raw/raw5
CACHED        MEMBER          ONLINE       NORMAL       10236     9860 DATA_0003  /dev/raw/raw4
CACHED        MEMBER          ONLINE       NORMAL       10236     9869 DATA_0002  /dev/raw/raw3
CACHED        MEMBER          ONLINE       NORMAL       10236     9877 DATA_0001  /dev/raw/raw2
CACHED        MEMBER          ONLINE       NORMAL       10236     9918 DATA_0000  /dev/raw/raw1

どうやら、再配置も自動的に実施されたようです。

ちなみに、ASM を壊す前の使用量 ( TOTAL_MB – FREE_MB ) の合計が 1796MB。
壊し続けて、最後に DISK を追加した時点での使用量の合計が、1797MB。

完全に同じにはならないようです。ということは、CHUNK サイズ単位でデータ
を移動しているわけではないのでしょうか。なぞだらけです。

いつまでも若いと思うな、体力と胃袋。食べ過ぎの茅ヶ崎にて