いっぱいになりそうな ASM ディスク グループがあり、そのディスク グループに新しいディスクを追加する必要があります。ディスク グループにディスクを追加する前に、いくつかの検証手順を実行して、候補ディスクが良好な状態にあるかどうか、および各ノードからアクセスできるかどうかを検証できます (既存の運用ディスク グループを損なうことはありません)。
ASMLib の下に新しいディスクを作成しています
root OSユーザーとして「/etc/init.d/oracleasm createdisk」コマンドを使用して、新しいASMLIBディスクを作成します:
# /etc/init.d/oracleasm createdisk NEW_DISK_01 /dev/mapper/mpathbp1
ディスクの名前「NEW_DISK_01」は自由に選択でき、できればディスクの目的を示す必要があります。
すべてのノードから新しいディスクをスキャンしています
1. RAC 環境の場合、すべてのノードから新しいディスクが見えるようにすることが重要です。 ASMLib がインストールされている場合は、次のコマンドを使用して、各ノードで新しいディスクにアクセスできることを確認できます。
root ユーザーとして実行
/etc/init.d/oracleasm scandisks
グリッド ユーザーとして実行
$ /etc/init.d/oracleasm listdisks
2. 「listdisks」コマンドで検出された新しい各ディスクで、グリッド ユーザーとして以下のコマンドを実行します。
$ /etc/init.d/oracleasm querydisk new_disk_01 $ /etc/init.d/oracleasm querydisk new_disk_02 ....
RAC 構成の場合は、すべてのノードからすべてのディスクが見えるようにしてください。
dd を使用してディスクの OS 可視性を確認する
1. ディスクが各ノードから OS レベルで (oracle または grid OS ユーザーとして) 可視 (I/O) であることを確認します。
構文
dd if=[raw/character or block partition device in question] of=/dev/null count=100 bs=8192
例:Raw ディスク
$ dd if=/dev/mapper/DATA05 of=/dev/null count=100 bs=8192
例:ASMLIB デバイス
dd if=/dev/oracleasm/disks/DATA05 of=/dev/null count=100 bs=8192
kfed を使用してディスクを読み取る
1. kfed が各ノードから OS レベルで (oracle または grid OS ユーザーとして) 候補ディスクを読み取れることを確認します。
構文
$ kfed read [raw/character or block partition device in question]
例:Raw ディスク
$ kfed read /dev/mapper/DATA05
例:ASMLIB デバイス :
$ kfed read /dev/mapper/DATA05注意 :ディスクが FORMER ディスクでない場合、新しいディスクの kfed は次を返します:kfbh.type:0; 0x002:KFBTYP_INVALID そしてそれは予想されます。
一時ディスク グループを作成しています
新しいディスクを使用して一時的なディスク グループを作成し、本番ディスク グループに触れずにすべてが正常に動作することを確認することをお勧めします。最悪のシナリオでは、テスト ディスク グループが失敗しますが、これは問題ありません。
1. 新しいディスク グループを作成するには、次のコマンドを使用します。
SQL> CREATE DISKGROUP TEST EXTERNAL REDUNDANCY DISK '[YOUR CANDIDATE DISK]';
2. ディスクグループが作成され、マウントされているかどうかを確認します:
SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
3. マウントされていない場合は、以下のコマンドを使用して手動でマウントします:
SQL> ALTER DISKGROUP TEST MOUNT; SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
RAC 構成の場合は、必ず各 ASM インスタンスから TEST ディスク グループをマウントしてみてください。
TEST ディスク グループの削除
前の手順が成功し、TEST ディスクグループを (各 ASM インスタンスに) 正常にマウントできる場合は、次のように TEST ディスクグループを削除します。
1. 最初に、削除する 1 つを除くすべての ASM インスタンスから TEST ディスク グループをマウント解除します。
SQL> ALTER DISKGROUP TEST DISMOUNT;
2. ここで、まだマウントされている ASM インスタンスから TEST ディスク グループを削除します。
SQL> DROP DISKGROUP TEST;
目的のディスク グループにディスクを追加
最後に、新しいディスクを厳密に検証した後、それらを目的のディスク グループに追加できます。以下のコマンドを使用して、候補ディスクをディスク グループに追加します。
構文 :
SQL> ALTER DISKGROUP [my production diskgroup] ADD DISK '[your candidate disk]';
例 :
SQL> ALTER DISKGROUP PROD_DG ADD DISK NEW_DISK_01
ディスク名「NEW_DISK_01」は、記事の前半で「oracleasm createdisk」コマンドを使用してディスクを作成したコマンドから取られています。