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は、パーティション表を含むパーティションは検出しません。
-
インストールの観点から、候補ディスクはヘッダー・ステータスが
CANDIDATE
、PROVISIONED
またはFORMER
です。ステータスがCANDIDATE
、PROVISIONED
または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
に対して使用する必要のある検出文字列の表記規則がある可能性があります。
また、インストール環境でマルチパス対応のソフトウェアが使用されている場合、オペレーティング・システムのデフォルト設定とは異なるパスに擬似デバイスが配置されている可能性もあります。
関連項目:
-
Oracle ASMフィルタ・ドライバの詳細は、「Oracle ASMフィルタ・ドライバの管理」
-
マルチパス化の詳細は、「Oracle ASMとマルチパス化」およびマルチパス化のベンダー・ドキュメント