日本語PDF

Oracle ASMディスク検出

ディスク検出は、Oracle ASMでアクセスできるディスクのオペレーティング・システム名を検索するためのメカニズムです。

このメカニズムでは、マウントするディスク・グループを構成するすべてのディスク、管理者がディスク・グループに追加するディスク、または管理者がディスク・グループへの追加を検討するディスクを検索します。この項では、次の項目について説明します。

関連項目:

ディスク検出とASM_DISKSTRING初期化パラメータの対の詳細は、「ASM_DISKSTRING」

ディスクの検出方法

Oracle ASMインスタンスを初期化すると、ASM_DISKSTRING初期化パラメータの値を使用して指定したパスにあるすべてのディスクの内容が検出されて調査されます。

また、ディスク検出は次の場合も実行されます。

  • 次のSQL文を実行する場合

    • ALTER DISKGROUP MOUNTによるディスク・グループのマウント

    • ALTER DISKGROUP ONLINE DISKによるディスクのオンライン化

    • CREATEまたはALTER DISKGROUP...ADD DISKによるディスク・グループのディスクへの追加

    • ALTER DISKGROUP ... RESIZE DISKによるディスク・グループ内のディスクのサイズ変更

    • SELECT FROM V$ASM_DISKGROUPまたはV$ASM_DISKビューによる問合せ

  • 前述のSQL文と同じ操作を実行するOracle ASMコンフィギュレーション・アシスタント(ASMCA)の操作またはASMCMDコマンドを実行する場合

Oracle ASMによりディスクが正常に検出されると、そのディスクはV$ASM_DISKビューに表示されます。ディスク・グループに属するディスク(ディスク・ヘッダーにディスク・グループ名があるディスク)には、MEMBERというヘッダー・ステータスが表示されます。検出されても、ディスク・グループに割り当てられていないディスクのステータスは、CANDIDATEまたはPROVISIONEDです。以前にディスク・グループに属しており、そのディスク・グループから正常に削除されたディスクのステータスは、FORMERです。

PROVISIONEDステータスは、ディスクをOracle ASMで使用可能にするために管理者によってプラットフォーム固有の追加アクションが実行されたことを意味します。たとえば、Windowsコンピュータ上で、管理者がasmtoolまたはasmtoolgを使用してヘッダーを持つディスクをマークした場合です。たとえば、Linuxコンピュータ上では、管理者がOracle ASMフィルタ・ドライバまたはASMLIBを使用してOracle ASM用としてディスクを準備した場合です。

例4-10に、ディスク・グループのヘッダー・ステータスを表示する、V$ASM_DISKに対するSQL問合せを示します。

例4-10 ヘッダー・ステータスに関するV$ASM_DISKへの問合せ

SQL> SELECT name, header_status, path FROM V$ASM_DISK 
     WHERE path LIKE '/devices/disk0%';

NAME      HEADER_STATUS PATH
--------- ------------- ---------------------
          FORMER        /devices/disk02
          FORMER        /devices/disk01
          CANDIDATE     /devices/disk07
DISK06    MEMBER        /devices/disk06
DISK05    MEMBER        /devices/disk05
DISK04    MEMBER        /devices/disk04
DISK03    MEMBER        /devices/disk03
7 rows selected.

関連項目:

V$ASM_DISKビューに表示されるOracle ASMディスクのヘッダー・ステータスの詳細は、『Oracle Databaseリファレンス』を参照してください。

ディスク検出のルール

Oracle ASMディスクの検出ルールは、次のとおりです。

  • Oracle ASMにより、最大10,000のディスクを検出できます。つまり、ASM_DISKSTRING初期化パラメータと一致するディスクが10,000を超えると、Oracle ASMは最初の10,000のみを検出します。

  • Oracle ASMは、ディスク・パーティションのみを検出します。Oracle ASMは、パーティション表を含むパーティションは検出しません。

  • インストールの観点から、候補ディスクはヘッダー・ステータスがCANDIDATEPROVISIONEDまたはFORMERです。ステータスがCANDIDATEPROVISIONEDまたはFORMERのこれらのディスクは、FORCEフラグを使用せずにOracle ASMディスク・グループに追加できます。

  • ディスクを追加するときに、ディスクがOracleで管理されたことをOracle ASMが認識する場合、FORCEオプションを使用する必要があります。このようなディスクは、FOREIGNというステータスでV$ASM_DISKビューに表示されます。この場合、ディスクをディスク・グループに追加できるのは、FORCEキーワードを使用する場合のみです。

  • 通常、MEMBERディスクは、現在マウントされているディスク・グループに属していなければ、FORCEフラグを指定するとディスク・グループに追加できます。

また、検出時には、Oracle ASMにより次の構成エラーが識別されます。

  • 同じディスクに対する複数のパス

    この場合、ディスクがディスク・グループの一部である場合、ディスク・グループのマウントは失敗します。ADD DISKまたはCREATE DISKGROUPコマンドを使用してこのディスクをディスク・グループに追加する場合、コマンドは失敗します。このエラーを修正するには、Oracle ASMが同じディスクに対する複数のパスを検出しないようにASM_DISKSTRING値を調整します。また、マルチパス対応のソフトウェアを使用している場合、ASM_DISKSTRING値に擬似デバイス名のみが含まれていることを確認します。Oracle ASMとマルチパス化を参照してください。

  • 同じディスク・ヘッダーを持つ複数のOracle ASMディスク

    これは、1つのディスクを別のディスクにコピーしたことが原因である可能性があります。この場合、ディスク・グループのマウント操作は失敗します。

ディスク検出時間の短縮

ASM_DISKSTRING初期化パラメータの値はオペレーティング・システムに依存する値で、Oracle ASMはこの値を使用して、検出プロセスでディスクの検索に使用される一連のパスを制限します。新しいディスクがディスク・グループに追加されると、ディスク・グループがマウントされている各Oracle ASMインスタンスでは、ASM_DISKSTRINGを使用してこの新しいディスクの検出が可能である必要があります。

多くの場合、デフォルト値(NULL)で十分です。これより制限的な値を使用すると、Oracle ASMの検出の実行に要する時間を短縮し、ディスク・グループのマウント時間や、ディスク・グループへのディスクの追加時間を短縮できます。Oracleでは、ディスクを追加する前にASM_DISKSTRINGを動的に変更し、このパラメータを介して新しいディスクが検出されるようにする場合があります。

ASM_DISKSTRINGのデフォルト値により、必ずしもすべての状況下ですべてのディスクが検出されるわけではありません。サイトにOracle ASMフィルタ・ドライバまたはサード・パーティ・ベンダーが使用されている場合、ASM_DISKSTRINGに対して使用する必要のある検出文字列の表記規則がある可能性があります。

また、インストール環境でマルチパス対応のソフトウェアが使用されている場合、オペレーティング・システムのデフォルト設定とは異なるパスに擬似デバイスが配置されている可能性もあります。

関連項目: