ヘッダーをスキップ
Oracle Databaseストレージ管理者ガイド
11gリリース1(11.1)
E05783-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 ASMディスク・グループの管理

この章では、自動ストレージ管理(ASM)ディスク・グループの管理方法について説明します。この章の例ではSQL文を使用し、ASMインスタンスが実行中であることを前提とします。この章の内容は次のとおりです。

ASMインスタンスの起動の詳細は、「ASMインスタンスの起動」を参照してください。Enterprise ManagerによるASMディスク・グループの管理の詳細は、第6章「Oracle Enterprise ManagerによるASMの管理」を参照してください。ASMCMDによるASMディスク・グループの管理の詳細は、第7章「ASMコマンドライン・ユーティリティ」を参照してください。DBCAによるASMディスク・グループの管理の詳細は、お使いのプラットフォーム用のOracle Databaseインストール・ガイドを参照してください。


関連項目:

ASMのベスト・プラクティスの詳細は、ASMのホームページ(http://www.oracle.com/technology/products/database/asm/index.html)を参照してください。

自動ストレージ管理(ASM)ディスク・グループの管理

この項では、自動ストレージ管理(ASM)ディスク・グループを作成、変更、削除、マウントおよびディスマウントする方法について説明します。ディスク・グループを管理しながら、ASMを使用するデータベース・インスタンスが引き続き動作できることに注意してください。この項の内容は次のとおりです。

ディスク・グループの作成

CREATE DISKGROUP SQL文を使用して、ディスク・グループを作成します。ディスク・グループを作成する場合、次の操作を実行する必要があります。

  • ディスク・グループに一意の名前を割り当てます。

  • ディスク・グループの冗長性レベルを指定します。

    ASMでファイルをミラー化するには、冗長性レベルをNORMAL REDUNDANCY(デフォルトでほとんどのファイル・タイプについて双方向ミラー化)またはHIGH REDUNDANCY(すべてのファイルについて3方向ミラー化)と指定します。ASMによるミラー化が不要の場合は、EXTERNAL REDUNDANCYを指定します。たとえば、ストレージ・アレイ保護機能を使用する場合は、EXTERNAL REDUNDANCYを選択できます。

    冗長性レベルの詳細は、「ASMのミラー化および障害グループ」を参照してください。

  • 特定の障害グループに属するものとしてディスクを指定します。

    障害グループの詳細は、「ASMの概要の理解」および「ASMのミラー化および障害グループ」を参照してください。

  • ディスク・グループに属するASMディスクとしてフォーマットするディスクを指定します。

    ディスクは、検索文字列でオペレーティング・システム依存のワイルドカード文字を使用して指定できます。ASMでは、この文字列を使用してディスクが検索されます。NAME句でディスクの名前を指定するか、システム生成の名前を使用できます。

  • ソフトウェア互換性や割当て単位のサイズなどのディスク・グループ属性を必要に応じて指定します。

ASMでは、各ディスクのサイズはプログラム的に確認されます。なんらかの理由によってこれが不可能である場合や、ディスク上で使用される領域量を制限する必要がある場合、ディスクごとにSIZE句を指定できます。ASMではディスク・グループ内のディスク用としてオペレーティング・システムとは無関係の名前が作成されるため、他のSQL文でこの名前を使用してディスクを参照できます。必要であれば、NAME句を使用してディスク独自の名前を指定できます。ディスク名は、V$ASM_DISKビューで参照できます。


注意:

ディスクは複数のディスク・グループに属することはできません。

ASMインスタンスでは、新しく作成されたディスク・グループのディスクがアドレス指定可能であり、現在は別のディスク・グループのメンバーではないことが確認されます。FORCEで削除されたディスクを追加する場合のみFORCEを使用する必要があります。ディスクがNOFORCEで削除される場合、NOFORCEでディスクを追加できます。たとえば、ディスクに障害が発生し、そのディスクがディスク・グループから削除されたとします。このディスクを修復すると、ディスク・グループの一部ではなくなりますが、ASMでは引き続きそのディスクがディスク・グループのメンバーであると認識します。このディスクを新しいディスク・グループに含めるには、FORCEフラグを使用する必要があります。さらに、ディスクをアドレス指定可能にして、元のディスク・グループがマウントされないようにします。このようにしないと、操作が失敗します。


注意:

FORCEオプションを使用して、以前に使用したディスクをディスク・グループに追加する場合は注意してください。別のディスク・グループが使用できなくなることがあります。

CREATE DISKGROUP文により、ディスク・グループは初めてマウントされ、サーバー・パラメータ・ファイルが使用されている場合はディスク・グループ名がASM_DISKGROUPS初期化パラメータに追加されます。テキスト初期化パラメータ・ファイルが使用されており、インスタンスの起動時にディスク・グループを自動的にマウントする場合、次回ASMインスタンスを停止して再起動する前に、このディスク・グループ名をASM_DISKGROUPS初期化パラメータに忘れずに追加する必要があります。また、Oracle Enterprise Managerを使用してディスク・グループを作成できます。「ディスク・グループの作成」を参照してください。


関連項目:

『Oracle Database SQL言語リファレンス』のCREATE DISKGROUP SQL文

例: ディスク・グループの作成

次の例では、ASM_DISKSTRING初期化パラメータが/devices/*に設定されていること、およびASMディスク検出により/devicesディレクトリで次のディスクが識別されていることが前提となっています。

コントローラ1:


/devices/diska1
/devices/diska2
/devices/diska3
/devices/diska4

コントローラ2:
/devices/diskb1
/devices/diskb2
/devices/diskb3
/devices/diskb4

例4-1のSQL文は、標準冗長性でdgroup1という名前のディスク・グループを作成します。これは2つの障害グループcontroller1またはcontroller2で構成され、各障害グループには4つのディスクがあります。

例4-1 ディスク・グループの作成

% SQLPLUS /NOLOG
SQL> CONNECT / AS SYSASM
Connected to an idle instance.
SQL> STARTUP NOMOUNT

CREATE DISKGROUP dgroup1 NORMAL REDUNDANCY
FAILGROUP controller1 DISK
'/devices/diska1' NAME diska1,
'/devices/diska2' NAME diska2,
'/devices/diska3' NAME diska3,
'/devices/diska4' NAME diska4
FAILGROUP controller2 DISK
'/devices/diskb1' NAME diskb1,
'/devices/diskb2' NAME diskb2,
'/devices/diskb3' NAME diskb3,
'/devices/diskb4' NAME diskb4
ATTRIBUTE 'au_size'='4M',
          'compatible.asm' = '11.1',
          'compatible.rdbms' = '11.1';

例4-1では、NAME句によって、システム生成のデフォルト名以外の名前を明示的にディスクに割り当てることができます。システム生成の名前の形式はdiskgroupname_nnnnです。nnnnは、ディスク・グループ内のディスクのディスク番号です。ASMLIBディスクの場合、ディスクのデフォルト名は、ディスクのユーザー・ラベルであるASMLIB名になります。たとえば、ORCL:mydiskの場合、デフォルトのASMディスク名はmydiskです。

ディスク・グループの作成時に、次のディスク・グループの値が明示的に設定されています。

  • AU_SIZEは、ディスク・グループの割当て単位のサイズを指定します。割当て単位のサイズおよびエクステントの詳細は、「エクステント」を参照してください。

  • COMPATIBLE.ASMは、ディスク・グループを使用するASMインスタンスの最小ソフトウェア・バージョンを決定します。COMPATIBLE.ASM属性の詳細は、「COMPATIBLE.ASM」を参照してください。

  • COMPATIBLE.RDBMSは、ディスク・グループを使用するデータベース・インスタンスの最小ソフトウェア・バージョンを決定します。COMPATIBLE.RDBMS属性の詳細は、「COMPATIBLE.RDBMS」を参照してください。


関連項目:

ディスク・グループの作成時のASMLIBの使用については、Oracle Technology NetworkのWebサイトのOracle ASMLibページ(http://www.oracle.com/technology/tech/linux/asmlib/index.html)を参照してください。

ディスク・グループの変更

ALTER DISKGROUP文を使用してディスク・グループの構成を変更できます。データベースの状態がオンラインのままで、ディスクの追加、サイズ変更および削除を行うことができます。可能であれば、1つのALTER DISKGROUP文で複数の操作を行うことをお薦めします。

ディスク・グループの構成が変更されると、自動的にリバランスが行われます。ALTER DISKGROUP文では、デフォルトで操作の完了まで文の戻りを待機することはありません。この操作のステータスを監視するには、V$ASM_OPERATIONビューを問い合せます。

リバランス操作が完了するまで待機してからALTER DISKGROUP文の処理が戻されるようにするには、REBALANCE WAIT句を使用できます。これは特にスクリプトの場合に役に立ちます。この文では、REBALANCE NOWAIT句も使用できます。これにより、リバランス操作をバックグラウンドで非同期に実行するデフォルトの動作が呼び出されます。

ほとんどのプラットフォームでは、[Ctrl]キーを押しながら[C]キーを押すことにより、待機モードで動作するリバランスを中断できます。これにより、「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」というメッセージとともに文は即時に戻され、操作は非同期で続行されます。[Ctrl]キーを押しながら[C]キーを押しても、リバランス操作、またはディスクの追加、削除またはサイズ変更操作は取り消されません。

リバランス操作の速度およびリソース消費を制御するには、ディスクを追加、削除またはサイズ変更する文にREBALANCE POWER句を含めます。この句の詳細は、「ディスク・グループの手動リバランス」を参照してください。

この項の内容は次のとおりです。


関連項目:

『Oracle Database SQL言語リファレンス』のALTER DISKGROUP SQL文

ディスク・グループへのディスクの追加

ALTER DISKGROUP文のADD句を使用して、ディスク・グループにディスクまたは障害グループを追加できます。CREATE DISKGROUP文でディスクまたは障害グループを追加する場合と同じ構文を、ALTER DISKGROUP文で使用できます。CREATE DISKGROUP SQL文の例については、例4-1を参照してください。新しいディスクを追加した後、リバランスが進むにつれ、新しいディスクが占めるワークロードの割合が徐々に増え始めます。

ディスク・グループにディスクを追加するときのASMの動作については、「例: ディスク・グループへのディスクの追加」を参照してください。また、「ディスク・グループへのディスクの追加」で説明するように、Oracle Enterprise Managerを使用してディスク・グループにディスクを追加することもできます。

例: ディスク・グループへのディスクの追加

この例で示す文では、ディスク検出とADD DISK操作との相互作用について説明します。

ディスク検出により、ディレクトリ/devicesで次のディスクが識別されたとします。


/devices/diska1: dgroup1のメンバー
/devices/diska2: dgroup1のメンバー
/devices/diska3: dgroup1のメンバー
/devices/diska4: dgroup1のメンバー
/devices/diska5: 候補ディスク
/devices/diska6: 候補ディスク
/devices/diska7: 候補ディスク
/devices/diska8: 候補ディスク

/devices/diskb1: dgroup1のメンバー
/devices/diskb2: dgroup1のメンバー
/devices/diskb3: dgroup1のメンバー
/devices/diskb4: dgroup2のメンバー

/devices/diskc1: dgroup2のメンバー
/devices/diskc2: dgroup2のメンバー
/devices/diskc3: dgroup3のメンバー
/devices/diskc4: 候補ディスク

/devices/diskd1: 候補ディスク
/devices/diskd2: 候補ディスク
/devices/diskd3: 候補ディスク
/devices/diskd4: 候補ディスク
/devices/diskd5: 候補ディスク
/devices/diskd6: 候補ディスク
/devices/diskd7: 候補ディスク
/devices/diskd8: 候補ディスク

ASMディスクのステータスを表示するには、V$ASM_DISKビューを問い合せます。「ビューを使用したASM情報の取得」を参照してください。

次の文は、/devices/diska1/devices/diska4がすでにdgroup1に属しているため失敗します。

ALTER DISKGROUP dgroup1 ADD DISK
     '/devices/diska*';

次の文を発行すると、ディスク/devices/diska5から/devices/diska8までがdgroup1に正常に追加されます。ALTER DISKGROUP文にはFAILGROUP句が含まれていないため、各ディスクはそれぞれ独自の障害グループに割り当てられます。NAME句により、各ディスクに名前が割り当てられます。この句がない場合は、システム生成の名前が割り当てられます。

ALTER DISKGROUP dgroup1 ADD DISK
     '/devices/diska5' NAME diska5,
     '/devices/diska6' NAME diska6,
     '/devices/diska7' NAME diska7,
     '/devices/diska8' NAME diska8,

次の文は、検索文字列に一致するディスクが別のディスク・グループに含まれているため失敗します。具体的には、/devices/diska4がディスク・グループdgroup1に属しており、/devices/diskb4がディスク・グループdgroup2に属しています。

ALTER DISKGROUP dgroup1 ADD DISK
     '/devices/disk*4';

次の文を発行すると、/devices/diskd1から/devices/diskd8までがディスク・グループdgroup1に正常に追加されます。この文は、リバランス指数5で実行されており、リバランス操作が完了するまでは戻されません。

ALTER DISKGROUP dgroup1 ADD DISK
      '/devices/diskd*'
       REBALANCE POWER 5 WAIT;

/devices/diskc3がディスク・グループの以前のメンバーで現在は存在しない場合、FORCEオプションを使用して、別のディスク・グループのメンバーとしてこれらを追加できます。たとえば、次のようにFORCE句を使用すると、/devices/diskc3が現在はdgroup3のメンバーであっても、dgroup2に追加できます。この文を正常に実行するためには、dgroup3はマウントできません。

ALTER DISKGROUP dgroup2 ADD DISK
     '/devices/diskc3' FORCE;

ディスク・グループからのディスクの削除

ディスク・グループからディスクを削除するには、ALTER DISKGROUP文のDROP DISK句を使用します。また、DROP DISKS IN FAILGROUP句を使用すると、指定した障害グループのすべてのディスクを削除できます。

ディスクを削除すると、削除したディスクのすべてのファイル・エクステントをディスク・グループ内の他のディスクに移動することにより、ディスク・グループがリバランスされます。他のディスク上で使用可能な領域が十分でない場合、ディスクの削除操作は失敗する場合があります。最適の方法は、同じALTER DISKGROUP文で追加と削除の両方の操作を実行する方法です。この方法には、データ・エクステントのリバランスを一度行い、リバランス操作を成功させるのに十分な領域があるかどうかを確認するという利点があります。


注意:

ALTER DISKGROUP...DROP DISK文は、削除およびリバランス操作が完了する前に戻されます。V$ASM_DISKビューでこのディスクのHEADER_STATUS列がFORMERに変更されるまでは、削除したディスクを再利用、削除または切断しないでください。V$ASM_OPERATIONビューを問い合せ、削除およびリバランス操作が完了するまでの残りの時間を確認できます。詳細は、『Oracle Database SQL言語リファレンス』および『Oracle Databaseリファレンス』を参照してください。

削除操作にFORCE句を指定すると、ASMによるディスクでの読取りまたは書込みができない場合でも、ディスクは削除されます。外部冗長性のディスク・グループからディスクを削除する場合、FORCEフラグは使用できません。


注意:

DROP FORCE操作を実行すると、後続のリバランス操作が完了するまでデータの冗長性は低下したままになります。これにより、リバランス中にディスク障害が結果として発生したとき、データが損失する危険性が高くなります。このため、DROP FORCEは十分に注意して使用する必要があります。

また、Oracle Enterprise Managerを使用してディスク・グループからディスクを削除できます。「ディスク・グループからのディスクの削除」を参照してください。

例: ディスク・グループからのディスクの削除

この例の文は、「例: ディスク・グループへのディスクの追加」で説明したディスク・グループdgroup1からディスクを削除する方法を示します。

次の例では、ディスク・グループdgroup1からdiska5を削除します。

ALTER DISKGROUP dgroup1 DROP DISK diska5;

次の例では、ディスク・グループdgroup1からdiska5を削除するとともに、1つのALTER DISKGROUP文で可能な複数のアクションの実行も示しています。

ALTER DISKGROUP dgroup1 DROP DISK diska5
     ADD FAILGROUP failgrp1 DISK '/devices/diska9' NAME diska9;

ディスク・グループ内のディスクのサイズ変更

ALTER DISKGROUPRESIZE句を使用して、次の操作を実行できます。

  • ディスク・グループ内のすべてのディスクのサイズ変更

  • 指定したディスクのサイズ変更

  • 指定した障害グループ内のすべてのディスクのサイズ変更

SIZE句で新しいサイズを指定しない場合、オペレーティング・システムから戻されるディスクのサイズが使用されます。新しいサイズはASMディスク・ヘッダーに書き込まれ、ディスクのサイズが大きくなっている場合、新しい領域の割当てが即時に可能になります。サイズが小さくなっている場合、リバランスにより、新しいサイズ制限を超えるファイル・エクステントが制限未満の使用可能領域に再配置される必要があります。リバランス操作によってすべてのエクステントを正常に再配置できる場合、新しいサイズが確定されます。正常に再配置できない場合、リバランスは失敗します。

例: ディスク・グループ内のディスクのサイズ変更

次の例では、ディスク・グループdgroup1の障害グループfailgrp1内のすべてのディスクのサイズを変更します。新しいサイズがディスク容量を超えている場合、この文は失敗します。

ALTER DISKGROUP dgroup1
     RESIZE DISKS IN FAILGROUP failgrp1 SIZE 100G;

ディスク・グループ内のディスクの削除解除

ALTER DISKGROUP文のUNDROP DISKS句を使用すると、ディスク・グループ内のディスクに対して保留中の削除操作を取り消すことができます。ディスクの削除操作がすでに完了している場合、この文はディスクのリストアに使用できません。この文は、DROP DISKGROUP文の結果として削除されたディスク、またはFORCE句を使用して削除されたディスクのリストアには使用できません。

例: ディスク・グループ内のディスクの削除解除

次の例では、ディスク・グループdgroup1からのディスクの削除を取り消します。

ALTER DISKGROUP dgroup1 UNDROP DISKS;

ディスク・グループの手動リバランス

ALTER DISKGROUP文のREBALANCE句を使用して、ディスク・グループ内のファイルを手動でリバランスできます。通常、ディスク・グループは構成が変更されるとASMによって自動的にリバランスされるため、この操作は必要ありません。速度を自身で管理する場合、自動リバランス操作ではなく手動リバランス操作を実行できます。

ALTER DISKGROUP...REBALANCE文のPOWER句を使用して、パラレル化の程度を指定し、これによってリバランス操作の速度を指定します。この値は0〜11に設定できます。値を0にすると、この文が暗黙的または明示的に再実行されるまではリバランス操作が停止されます。デフォルトのリバランス指数は、ASM_POWER_LIMIT初期化パラメータによって設定されます。詳細は、「リバランス操作の調整」を参照してください。

進行中のリバランス操作の指数レベルは、新しいレベルでリバランス文を入力することによって変更できます。

デフォルトでは、ALTER DISKGROUP...REBALANCEコマンドは即時に戻されるため、リバランス操作がバックグラウンドで非同期に実行されているときに他のコマンドを発行できます。リバランス操作のステータスを確認するには、V$ASM_OPERATIONビューを問い合せます。

リバランス操作が完了するまで待機してからALTER DISKGROUP...REBALANCEコマンドが戻されるようにするには、REBALANCE句にWAITキーワードを追加します。これは特にスクリプトの場合に役に立ちます。このコマンドでは、NOWAITキーワードも使用できます。これにより、リバランス操作を非同期に実行するデフォルトの動作が呼び出されます。ほとんどのプラットフォームでは、[Ctrl]キーを押しながら[C]キーを押すことにより、待機モードで動作するリバランスを中断できます。これにより、「ORA-01013: ユーザーによって現行の操作の取消しがリクエストされました」というメッセージとともにコマンドは即時に戻され、リバランス操作は非同期で続行されます。

リバランス操作の追加ルールは、次のとおりです。

  • ユーザーが構成を変更する場合や、障害または機能停止が原因で構成が変更される場合にストレージ構成が変更されると、進行中のリバランス・コマンドが再開されます。さらに、ユーザー・エラーが原因で新しいリバランスが失敗した場合、手動リバランスが必要になることがあります。

  • ALTER DISKGROUP...REBALANCE文は、Oracle Real Application Clusters(Oracle RAC)を使用している場合でも単一ノードで実行されます。

  • ASMが特定のインスタンスで一度に実行できるディスク・グループのリバランスは1回です。そのため、異なるディスク・グループに対して複数のリバランスを開始した場合、この操作は順番に処理されます。ただし、異なるノード上の異なるディスク・グループに対するリバランスは同時に開始できます。

  • リバランスは、リバランスを実行しているASMインスタンスの1つの障害の全体にわたって続行されます。

  • REBALANCE句(および関連するPOWERおよびWAIT/NOWAITキーワード)は、ディスクを追加、削除またはサイズ変更するALTER DISKGROUPコマンドでも使用できます。


    注意:

    ストレージ構成が変更されると、進行中のリバランス操作の処理が再開されます。さらに、ユーザー・エラーが原因で次のリバランス操作が失敗した場合、手動リバランスを実行する必要がある場合があります。

例: ディスク・グループの手動リバランス

次の例では、ディスク・グループdgroup2を手動でリバランスします。このコマンドは、リバランス操作が完了するまでは戻されません。

ALTER DISKGROUP dgroup2 REBALANCE POWER 5 WAIT;

リバランス操作の詳細は、「リバランス操作の調整」を参照してください。

リバランス操作の調整

ALTER DISKGROUP文でPOWER句を指定しなかった場合や、ディスクの追加または削除によってリバランスが暗黙的に実行される場合は、リバランス指数はデフォルトでASM_POWER_LIMIT初期化パラメータの値になります。このパラメータの値は動的に調整できます。

指数が高くなるほど、リバランス操作の完了は早くなります。指数の値が低いほどリバランスにかかる時間は長くなりますが、データベースなどの他のアプリケーションで共有される処理とI/Oの消費リソースは少なくなります。

デフォルト値の1を使用すると、他のアプリケーションへの影響は最小限に抑えられます。適切な値は、ハードウェアの構成とパフォーマンスおよび可用性の要件によって異なります。

ディスクが手動または自動で削除されたためにリバランスが進行中の場合は、リバランス指数を大きくすると、削除されたディスク上のデータの冗長コピーが他のディスク上で復元される間の時間枠は短くなります。

V$ASM_OPERATIONビューでは、ASM_POWER_LIMITの調整用の情報と、リバランス操作の結果の指数が示されます。また、V$ASM_OPERATIONビューでは、リバランス操作の完了にかかる残り時間のEST_MINUTES列に推定値が示されます。推定時間の変化を観察することにより、リバランス指数の変更による影響を確認できます。


関連項目:

詳細は、「ディスク・グループの手動リバランス」を参照してください。

ASMディスク検出

ディスク検出は、ASMでアクセスできるディスクのオペレーティング・システム名を検索するためのメカニズムです。これを使用して、マウントするディスク・グループを構成するすべてのディスク、管理者がディスク・グループに追加するディスク、または管理者がディスク・グループへの追加を検討するディスクを検索します。この項の内容は次のとおりです。

ディスク検出とASM_DISKSTRING初期化パラメータの詳細は、「ASM_DISKSTRING」を参照してください。

ディスクの検出方法

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

  • ALTER DISKGROUP...ADD DISKおよびALTER DISKGROUP...RESIZE DISKコマンドの実行

  • V$ASM_DISKGROUPおよびV$ASM_DISKビューの問合せ

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

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

次のSQL問合せでは、1つの候補と6つのメンバー・ディスクが表示されます。

SELECT name, header_status, path FROM V$ASM_DISK;

NAME      HEADER_STATUS PATH
--------- ------------- ---------------------
          CANDIDATE     /dev/rdsk/disk07
DISK06    MEMBER        /dev/rdsk/disk06
DISK05    MEMBER        /dev/rdsk/disk05
DISK04    MEMBER        /dev/rdsk/disk04
DISK03    MEMBER        /dev/rdsk/disk03
DISK02    MEMBER        /dev/rdsk/disk02
DISK01    MEMBER        /dev/rdsk/disk01

7 rows selected.

ディスク検出のルール

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

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

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


    注意:

    ディスクがASMディスク文字列検索パスに含まれ、ディスクに対する読取りおよび書込み権限がASMにあっても、オペレーティング・システムのパーティション表を含むディスクは検出されません。

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

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

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

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

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

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

ディスク検出時間の短縮

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

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

ASM_DISKSTRINGのデフォルト値により、必ずしもすべての状況下ですべてのディスクが検出されるわけではありません。サイトにサード・パーティ・ベンダーのASMLIBが使用されている場合、このベンダーでは、ASM_DISKSTRINGに対して使用する必要のある検出文字列の表記規則がある場合があります。また、インストール環境でマルチパス対応のソフトウェアが使用されている場合、オペレーティング・システムのデフォルト設定とは異なるパスに擬似デバイスが配置されている可能性もあります。詳細は、「ASMとマルチパス化」を参照して、マルチパス対応のベンダーにお問い合せください。

ディスク・グループ容量の管理

標準冗長性または冗長性でディスク・グループを作成するなど、ASMによって冗長性が提供される場合、1つまたは2つの障害グループに障害が発生した後に失われたデータの再作成を管理するには、各ディスク・グループに十分な容量を確保する必要があります。1つ以上のディスクに障害が発生した後、すべてのデータの冗長性をリストアするには、ディスク・グループ内の残りのディスクにある領域が必要です。十分な領域が残っていない場合、一部のファイルの冗長性が損われる可能性があります。

冗長性が損われるとは、ファイル内の1つ以上のエクステントが期待されるレベルでミラー化されないことを意味します。たとえば、高冗長性のディスク・グループで冗長性が損われたファイルの場合、少なくとも1つのファイル・エクステントと、3つではなく2つ以下のエクステント・コピーがあります。保護されていないファイルの場合、データ・エクステントがすべて失われる可能性があります。これ以外にもファイルの冗長性が損われる原因には、ディスクの領域が足りない場合や、障害グループの数が十分でない場合があります。V$ASM_FILEビューのREDUNDANCY_LOWERED列は、冗長性が損われたファイルに関する情報を提供します。

次のガイドラインは、1つ以上のディスクに障害が発生した後、すべてのディスク・グループ・データの冗長性を完全にリストアするための領域が十分であるかどうかを確認する上で役に立ちます。

V$ASM_DISKGROUPビューには、容量の管理に役立つ情報が含まれる次の列があります。

次の問合せの結果は、各ディスクが独自の障害グループに属している6つの1GB(1024MB)のディスクで構成された標準冗長性のディスク・グループの容量メトリックを示しています。

SELECT name, type, total_mb, free_mb, required_mirror_free_mb,
usable_file_mb FROM V$ASM_DISKGROUP;

NAME         TYPE     TOTAL_MB    FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
------------ ------ ---------- ---------- ----------------------- --------------
DISKGROUP1   NORMAL       6144       3768                    1024           1372

REQUIRED_MIRROR_FREE_MB列は、1つ以上のディスクに障害が発生した後に冗長性を完全にリストアするには1GBの追加容量が必要であることを示しています。問合せ結果の最初の3つの数値列は未処理の数値です。つまり、これらの数値では冗長性が考慮されていません。標準冗長性として調整されているのは最後の列のみです。この例では次のように計算されています。

FREE_MB - REQUIRED_MIRROR_FREE_MB = 2 * USABLE_FILE_MB

3768 - 1024 = 2 * 1372 = 2744

負の値のUSABLE_FILE_MB

FREE_MBREQUIRED_MIRROR_FREE_MBUSABLE_FILE_MBの関係により、USABLE_FILE_MBが負の値になることがあります。これは必ずしも重大な状況ではありませんが、次のような意味があります。

  • FREE_MBの値によっては、新しいファイルを作成できない場合があります。

  • 次に障害が発生したとき、ファイルの冗長性が損われる場合があります。

USABLE_FILE_MBが負の値になった場合、できるかぎり早くディスク・グループに領域を追加することをお薦めします。

ASMのミラー化およびディスク・グループ冗長性

この項の内容は次のとおりです。

ASMのミラー化および障害グループ

ファイルに対してミラー化を指定すると、ファイル・エクステントの冗長コピーが自動的に個別の障害グループに格納されます。障害グループは、標準冗長性および高冗長性のディスク・グループにのみ適用されます。ディスク・グループを作成または変更する場合、ディスク・グループごとに障害グループを定義できます。

ASMの冗長性レベルに基づいた3種類のディスク・グループがあります。表4-1に、そのタイプと、サポートされるミラー化レベルおよびデフォルトのミラー化レベルを示します。デフォルトのミラー化レベルは、異なるミラー化レベルを指定しないかぎり、各ファイルの作成時に使用されるミラー化レベルを示します。

表4-1 ASMディスク・グループ・タイプのミラー化オプション

ディスク・グループ・タイプ サポートされるミラー化レベル デフォルトのミラー化レベル

外部冗長性

非保護(なし)

非保護

標準冗長性


双方向
3方向
非保護(なし)

双方向

高冗長性

3方向

3方向


冗長性レベルでは、ディスク・グループのディスマウントやデータの消失なしに許容されるディスク障害の数が制御されます。各ファイルは固有の冗長性に基づいて割り当てられますが、デフォルトはディスク・グループから提供されます。冗長性レベルは次のとおりです。

  • 外部冗長性

    ASMではミラー化冗長性は提供されません。RAID機能を備えたストレージ・システムを使用します。書込みエラーが発生すると、ディスク・グループは強制的にディスマウントされます。ディスク・グループを正常にマウントするには、すべてのディスクを検出する必要があります。

  • 標準冗長性

    ASMによる双方向のミラー化は行われません。デフォルトでは、すべてのファイルがミラー化されるため、各データ・エクステントのコピーが2つ存在することになります。1つのASMディスクの損失は許容されます。

  • 高冗長性

    ASMは、デフォルトでトリプル・ミラー化を行います。異なる障害グループの2つのASMディスクの損失は許容されます。

障害グループを使用すると、メタデータおよびユーザー・データをミラー化できます。使用環境における障害グループの数が十分でない場合、システムの信頼性が損われる可能性があります。

この項の内容は次のとおりです。

ASMの障害グループ

障害グループは、データをミラー化したコピーを格納するために使用されます。ASMが標準冗長性のファイルにエクステントを割り当てる場合、プライマリ・コピーとセカンダリ・コピーが割り当てられます。ASMでは、プライマリ・コピー以外の別の障害グループに含まれるように、セカンダリ・コピーを格納するディスクが選択されます。各コピーは別の障害グループのディスク上にあるため、障害グループのすべてのディスクで同時に障害が発生してもデータは失われません。

障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。共通のハードウェアの障害は許容される必要があります。大きなJBODアレイの単一リムーバブル・トレイにある4つのドライブは、この4つのドライブで同時に障害が発生したときにトレイを削除できるため、同じ障害グループ内にある必要があります。キャビネットに冗長電源と冗長クーリングが装備され、キャビネット全体の障害を保護する必要がない場合、同じキャビネット内のドライブを複数の障害グループに置くことができます。ただし、ASMミラー化は、キャビネット全体を破損させるコンピュータ・ルームの火災に対する保護を目的としていません。

障害グループは、明示的に作成されない場合でも常に存在します。ディスクの障害グループを指定しない場合、そのディスクのみを含む新しい障害グループが自動的に作成されます。標準冗長性のディスク・グループには、少なくとも2つの障害グループが含まれる必要があります。高冗長性のディスク・グループには、少なくとも3つの障害グループが必要です。複数の障害グループを使用することをお薦めします。障害グループの数が少ない場合や、障害グループの容量が均一でない場合、割当てに問題が発生し、使用可能なストレージを完全に利用できないことがあります。

ASMによるディスク障害の管理方法

ディスク・グループの冗長性レベルおよび障害グループの定義方法に応じて、1つ以上のディスクの障害が原因で次のいずれかの結果が生じる場合があります。

  • ディスクは最初にオフラインになった後、自動的に削除されます。この場合、ディスク・グループはマウントされて使用可能なままです。また、ミラー化のため、ディスク・グループのすべてのデータは依然としてアクセス可能です。ディスクの削除操作の後、リバランスが実行され、障害が発生したディスク上のデータの冗長性が完全にリストアされます。

  • ディスク・グループ全体が自動的にディスマウントされます。つまり、データはアクセス不可能になります。

障害グループの使用に関するガイドライン

障害グループの使用に関するガイドラインは、次のとおりです。

  • ディスク・グループ内の各ディスクは、1つの障害グループにのみ属すことができます。

  • 障害グループはすべて同じサイズである必要があります。障害グループのサイズが異なると、可用性が損われることがあります。

  • ASMでは、標準冗長性のディスク・グループを作成する場合は少なくとも2つの障害グループ、高冗長性のディスク・グループの場合は少なくとも3つの障害グループが必要です。

障害グループに関するFAQ

この項では、次のトピックに基づいて障害グループのよくある質問について説明します。

作成する必要のある障害グループの数

作成する障害グループ数の選択は、データを失わずに許容する必要のある障害のタイプによって決まります。通常、ディスクの数が少ない場合(20以下など)、デフォルトの障害グループの作成の使用が最適です。この場合、すべてのディスクがそれぞれ独自の障害グループに属します。

ディスクの数が少ない場合を対象としたデフォルトの障害グループ作成の使用は、ディスク数が多くても、問題が主にディスク障害である場合に適しています。たとえば、ディスク・グループが複数の小規模なモジュール型ディスク・アレイで構成されている場合があります。1つのモジュール型アレイ全体に障害が発生してもシステムを稼働し続ける必要がある場合、障害グループは1つのモジュール内のディスクで構成される必要があります。1つのモジュールに障害が発生した場合、このモジュール上のすべてのデータが他のモジュールに再配置され、冗長性がリストアされます。データの可用性を損わずに障害を許容する必要のあるハードウェアの共有部品に複数のディスクが依存している場合、これらのディスクは同じ障害グループに入れる必要があります。

同時障害発生後の複数の障害グループのリカバリ方法

同時障害は、複数の障害グループで使用されるハードウェアの一部に障害が発生した場合に発生する可能性があります。このような障害では通常、すべてのディスクが使用できない場合、ディスク・グループを強制的にディスマウントします。

外部、標準または高冗長性を使用する必要のある状況

ASMのミラー化はデータベース・サーバーで実行されるため、外部冗長性を使用してこの処理をストレージ・ハードウェアのRAIDコントローラに負荷分散することをお薦めします。標準冗長性は、次のような状況で使用できます。

  • ストレージ・システムにRAIDコントローラがない

  • ストレージ・アレイ間でミラー化を行う

  • クラスタ構成が拡張されている

通常、ASMのミラー化は、サード・パーティの論理ボリューム・マネージャに対するOracleの代替的な手段です。ASMのミラー化により、Oracleデータベース環境に複雑なソフトウェアをさらにもう1つデプロイしなくてすむようになります。

読取りおよび書込みI/OエラーからのASMのリカバリ

読取りエラーは、ディスク全体にアクセスできなくなるか、正常なディスクでのメディア破損の結果、発生する可能性があります。ASMは、ディスク上の破損セクターでの読取りエラーからのリカバリを試みます。データベースまたはASMによる読取りエラーで、ASMインスタンスが不良ブロックの再マッピングを試みると、ASMではエクステントの正常なコピーを読み取り、読取りエラーの発生したディスクにこれをコピーします。

  • 同じ場所への書込みに成功すると、基礎となる割当て単位(セクター)は正常とみなされます。これは、基礎となるディスクで独自に不良ブロック再割当てが行われたためです。

  • 書込みに失敗すると、ASMでは同じディスクの新しい割当て単位にそのエクステントの書込みを試みます。この書込みに成功すると、元の割当て単位には使用禁止のマークが付けられます。書込みに失敗すると、ディスクはオフラインになります。

ASMベースのミラー化に特有の利点は、データベース・インスタンスでミラー化が認識されている点です。不良チェックサムや間違ったシステム変更番号(SCN)などの様々な論理破損の場合、データベース・インスタンスは、ミラー側で有効なコンテンツを探しながら、エラーなく続行します。読取りが発生したデータベースでのプロセスが、データの整合性を保証するために適切なロックを取得する状況にある場合、正しいデータがすべてのミラー側に書き込まれます。

書込みエラーが発生すると、データベース・インスタンスからASMインスタンスに、ディスク・オフライン・メッセージが送信されます。

  • データベースが少なくとも1つのエクステント・コピーへの書込みを正常に完了でき、ASMからオフライン・ディスクの確認を受信した場合、その書込みは成功したとみなされます。

  • すべてのミラー側への書込みが失敗した場合、データベースでは、書込みエラーに応じて、表領域をオフラインにするなどの適切な処置が取られます。

ASMインスタンスがデータベース・インスタンスから書込みエラー・メッセージを受信するか、ASMインスタンス自体に書込みエラーが発生した場合、ASMインスタンスでは、ディスクのオフライン化が試みられます。ASMは、ディスクのパートナでオフラインのものがあるかどうかを確認するために、パートナ・ステータス表(PST)を参照します。すでにオフラインになっているパートナが多すぎる場合、ASMによりそのディスク・グループは強制的にディスマウントされます。そうでなければ、ASMはディスクをオフラインにします。

ASMCMD remapコマンドは、ディスクに一連の不良セクターが存在し、ASMまたはデータベースI/Oの前に修正する必要がある状況に対応するために導入されました。remapコマンドの詳細は、「remapコマンド」を参照してください。

ASMの高速ミラー再同期

一時的なディスク・パス障害後にASMディスク・グループの冗長性をリストアする処理には、時間がかかります。このことは特に、リカバリ・プロセスにASM障害グループ全体の再構築が必要である場合は顕著です。ASMの高速ミラー再同期を行うと、このような状況下で障害が発生したディスクの再同期に要する時間を大幅に短縮できます。障害が発生したディスクを置換する場合、ASMディスクのエクステントを簡単に再同期できます。


注意:

この機能を使用するには、ディスク・グループの互換性属性を11.1以上に設定する必要があります。詳細は、「ディスク・グループの互換性」を参照してください。

障害グループが一時的に使用できなくなる問題は、ASMの高速ミラー再同期機能によってリカバリすることが可能な、一時的障害とみなされます。一時的障害は、たとえば、ディスク・パスの不具合(ケーブル障害、ホスト・バス・アダプタ障害、コントローラ障害など)や、ディスク電源の停電などによって発生します。

ASMの高速再同期では、停止時にOFFLINEのディスクのエクステントに対して保留になっている変更が追跡されます。これらのエクステントは、ディスクがオンラインに戻ったときに再同期されます。

デフォルトでは、ディスクはオフラインになってから3.6時間で削除されます。この削除操作は、DISK_REPAIR_TIME属性を設定することによって遅らせることもできます。つまり、ディスクを修復してオンラインに戻すまでの時間間隔をこの属性に指定できます。この時間は、分単位(mM)または時間単位(hH)で指定できます。単位を省略すると、デフォルトでは時間単位になります。

この属性が明示的に設定されていない場合、明示的なDROP AFTER句なしでOFFLINEモードに設定されたディスクには、デフォルト値(3.6h)が適用されます。I/OエラーによってオフラインになったディスクにはDROP AFTER句がないので注意してください。

DISK_REPAIR_TIME属性のデフォルト値は、多くの環境に適合すると思われる予測値です。ただしこの値は、実際の環境で一時ディスク・エラーを回避できるかどうか、およびどの程度の冗長性までなら許容できるかを考慮したうえで、必要であれば適切な時間間隔に変更してください。

経過時間(ディスクがOFFLINEモードになってからの時間)は、オフラインになったディスクが属しているディスク・グループがマウントされている場合にのみ増分されます。V$ASM_DISKREPAIR_TIME列には、オフラインのディスクが削除されるまでの残り時間(秒単位)が表示されます。指定した時間を経過すると、ディスクは削除されます。この属性は、ALTER DISKGROUP DISK OFFLINE文およびDROP AFTER句を使用してオーバーライドできます。


注意:

ディスクがI/O(書込み)エラーのためにASMによってオフラインにされた場合、またはDROP AFTER句のないALTER DISKGROUP... OFFLINE文によって明示的にオフラインにされた場合は、ディスク・グループのDISK_REPAIR_TIME属性に指定された値が使用されます。この属性値は、そのオフライン・ディスクが削除される前に、ALTER DISKGROUP... SET ATTRIBUTE 'disk_repair_time'文によって変更され、その後は、ASMのディスク・オフライン機能によって新しい値(現在値)が使用されます。ただし、経過時間はリセットされません。この動作は、ASMのアラート・ログを参照することによって確認できます。

オフラインのディスクが2回目にオフラインになると、経過時間はリセットされてから再開されます。このディスクに対してDROP AFTERを使用して別の時間を指定すると、最初の値がオーバーライドされ、新しい値が適用されます。OFFLINEモードのディスクは、ALTER DISKGROUP DROP DISK文では削除できません。削除しようとするとエラーが戻されます。なんらかの理由(ディスクを修復できない場合など)により、修復時間が経過する前にディスクを削除する必要がある場合、0hまたは0mを指定したDROP AFTER句を使用して2回目のOFFLINE文を発行して、ディスクを即時に削除できます。

ALTER DISKGROUPを使用して、DISK_REPAIR_TIME属性を特定の時間または分の値(4.5時間または270分など)に設定できます。次に例を示します。

ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '4.5h'
ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '270m'

ディスクを修復した後、SQL文ALTER DISKGROUP DISK ONLINEを実行します。この文により、修復したディスク・グループがオンラインに戻され、新しい書込みが失われないよう書込みが有効になります。また、この文により、冗長コピー上で失効とマークされているすべてのエクステントをコピーする手順が開始されます。

ASMインスタンスがローリング・アップグレード・モードのときにディスクがオフラインになると、ローリング・アップグレードが終了するまでディスクはオフラインのままであり、ASMクラスタがローリング・アップグレード・モードでなくなるまでディスクの削除タイマーは停止されます。詳細は、「ASMのローリング・アップグレードの使用」を参照してください。ディスクをオフラインにして、オンラインに戻す例を次に示します。

次の例では、ディスクD3_0001をオフラインにして、5分後に削除します。

ALTER DISKGROUP D3 OFFLINE DISK D3_0001 DROP AFTER 5m;

次の例では、ディスクD3_0001をオフラインにして、DISK_REPAIR_TIMEで指定した時間の経過後にこのディスクを削除します。

ALTER DISKGROUP D3 OFFLINE DISK D3_0001;

この例では、障害グループF2のディスクをすべてオフラインにして、DISK_REPAIR_TIMEで指定した時間の経過後にこれらを削除します。DROP AFTER句を使用した場合、指定時間の経過後にこのディスクは削除されます。

ALTER DISKGROUP D3 OFFLINE DISKS IN FAILGROUP F2;

次の例では、障害グループF2のディスクをすべてオンラインに戻します。

ALTER DISKGROUP D3 ONLINE DISKS IN FAILGROUP F2;

この例では、ディスクD3_0001のみをオンラインに戻します。

ALTER DISKGROUP D3 ONLINE DISK D3_0001;

この例では、ディスク・グループD3のディスクをすべてオンラインに戻します。

ALTER DISKGROUP D3 ONLINE ALL;

このタイプのALTER DISKGROUP ... ONLINE文の実行中にV$ASM_OPERATIONビューを問い合せると、現在実行している操作の名前と状態が表示されます。次に問合せの例を示します。

SELECT GROUP_NUMBER, OPERATION, STATE FROM V$ASM_OPERATION;

これは次のような出力を表示します。

GROUP_NUMBER OPERA STAT
------------ ----- ----
           1 ONLIN RUN

ただし、V$ASM_OPERATIONビューの問合せでは、OFFLINE操作は表示されません。


関連項目:

ALTER DISKGROUPCREATE DISKGROUPおよびASMディスク・グループ属性の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

優先読取りの障害グループ

ASM障害グループを構成する場合、ノードが読み取るエクステントがセカンダリ・エクステントであっても、最も近いエクステントから読み取った方が効率的である場合があります。つまり、ノードからは遠い可能性があるプライマリ・コピーから読み取るのではなく、セカンダリ・エクステントがノードに近ければ、そこから読み取るようASMを構成できます。優先読取りの障害グループは、拡張クラスタにおいて最も役に立ちます。

この機能を使用する場合、拡張クラスタ内のノードに対してローカルであるディスクからミラー化されたエクステント・コピーを1つ以上構成することをお薦めします。ただし、あるインスタンスに対して優先される障害グループが同じOracle RACデータベース内の別のインスタンスにはリモートである可能性があります。優先読取りの障害グループのパラメータ設定は、インスタンス固有のものです。


注意:

デフォルトでは、ディスク・グループを作成する場合、ディスク・グループ内のすべてのディスクは1つの障害グループに属します。Oracleでは、ディスク・グループ内のインスタンスごとに優先読取りの障害グループを複数構成することはお薦めしません。インスタンスごとに複数の優先読取りの障害グループを構成すると、アラート・ログにメッセージが書き込まれます。


注意:

この機能を使用するには、ディスク・グループの互換性属性を11.1以上に設定する必要があります。詳細は、「ディスク・グループの互換性」を参照してください。


関連項目:

拡張クラスタ内の優先読取りディスクの構成については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

優先読取りの障害グループの構成および管理

この機能を構成するには、ASM_PREFERRED_READ_FAILURE_GROUPS初期化パラメータを設定し、優先読取りディスクとして障害グループ名のリストを指定します。この初期化パラメータの詳細は、「ASM_PREFERRED_READ_FAILURE_GROUPS」を参照してください。

diskgroup_nameはディスク・グループの名前、failure_group_nameは障害グループの名前としてこのパラメータを設定します。指定したディスク・グループに障害グループが存在しない場合、この障害グループの名前をこのパラメータ設定で使用しても無視されます。次のように、カンマをセパレータとして複数の値を追加できます。

ASM_PREFERRED_READ_FAILURE_GROUPS = diskgroup_name.failure_group_name,...

拡張クラスタでは、ASM_PREFERRED_READ_FAILURE_GROUPSパラメータの設定を使用して指定する障害グループには、インスタンスに対してローカルであるディスクのみが含まれます。標準冗長性のディスク・グループの場合、拡張クラスタのサイトごとに存在する障害グループは1つのみである必要があります。

ミラー化されたコピーが複数あり、ASM_PREFERRED_READ_FAILURE_GROUPSパラメータの値を設定してある場合、優先読取りディスク上にあるコピーが最初に読み取られます。この読取りが失敗すると、次のミラー化コピーからの読取りが試みられますが、このコピーは優先読取りディスク上にはない可能性があります。

1つのサイトに複数の障害グループがある場合、このサイトに障害が発生すると、別のサイトからディスク・グループにアクセスできなくなることがあります。また、1つのサイトに複数の障害グループがある場合、エクステントを別のサイトにミラー化できないことがあります。これにより、その他のサイトにある障害グループの読取りパフォーマンスが低下する場合があります。

たとえば、標準冗長性のディスク・グループの場合、あるディスク・グループの2つの障害グループがサイトに含まれていると、エクステントの両方のミラー化コピーが同じサイトに配置される可能性があります。このような構成では、サイトの障害によるデータの損失を回避できません。

高冗長性のディスク・グループの場合、サイトで構成する障害グループは最大でも2つにする必要があります。拡張クラスタに3つのサイトがある場合、前述と同じ理由により、作成する障害グループは1つにする必要があります。

2つのサイトの拡張クラスタの場合、標準冗長性のディスク・グループにある障害グループは2つのみです。この場合、インスタンスごとに優先読取りの障害グループとして指定できる障害グループは1つのみです。

ビューを使用して、優先読取りの障害グループを識別できます。たとえば、PREFERRED_READ列の値によってディスクが優先読取りディスクであるかどうかを示すV$ASM_DISKビューなどがあります。また、V$ASM_DISKを使用して、拡張クラスタ内のローカル・ディスクが優先読取りディスクであるかどうかの検証もできます。構成した優先読取りディスクが読取り操作に使用されているかどうかを検証するには、ASMのディスクI/O統計を使用します。

拡張クラスタに対してディスク・グループが最適に構成されていない場合、アラート・ログに警告メッセージが記録されます。ASMの優先読取りの障害グループに関する特定のパフォーマンス上の問題を識別するには、V$ASM_DISK_IOSTATビューを使用します。このビューには、ASMクライアントごとのディスクI/O統計が表示されます。また、データベース・インスタンスについてV$ASM_DISK_IOSTATビューを問い合せることもできます。ただし、この問合せではデータベース・インスタンスのI/O統計のみが表示されます。通常、優先読取りの拡張クラスタ構成が最適であれば、パフォーマンスとディスク・グループの可用性のバランスがとれます。


関連項目:

V$ASM*動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

ディスク・グループのパフォーマンスおよびスケーラビリティに関する考慮事項

この項では、ディスク・グループのパフォーマンスの評価に関する次の考慮事項について説明します。

ディスク・グループ数の確認

次の基準を使用して、作成するディスク・グループ数を確認します。

  • 指定したディスク・グループ内のディスクは、サイズおよびパフォーマンス特性が類似している必要があります。サイズやパフォーマンスにおいて異なるタイプのディスクが複数ある場合は、類似する特性を含む複数のディスク・グループを作成してください。

  • データベース・ファイル用とバックアップ・ファイルのフラッシュ・リカバリ領域用に個別のディスク・グループを作成します。この構成により、ディスク・グループの障害が発生した場合に高速のリカバリが行われます。

ディスクをグループ化するときのパフォーマンス特性

ASMでは、ディスク・グループ内のすべてのディスクに対して、ファイル・エクステントを均一に分散することによって、ファイル・アクティビティのロード・バランシングを行います。この技術を有効にするには、ディスク・グループ内のディスクのパフォーマンス特性が類似している必要があります。たとえば、データベース作業領域用として予約されたディスク・グループ内には最新かつ最速のディスクを置き、フラッシュ・リカバリ領域用として予約されたディスク・グループ内にはこれより遅いドライブを置きます。

状況によっては、サイズおよびパフォーマンスが異なるディスクが同じディスク・グループ内で一時的に共存しても問題ありません。これには、古いディスク・セットから新しいディスク・セットに移行する場合などがあります。この場合、新しいディスクが追加され、古いディスクが削除されます。古いディスクが削除されるときに、ディスク・グループのオンライン中にそのストレージが新しいディスクに移行されます。

ASMストレージの制限

ASMには、次のような制限があります。

  • 1つのストレージ・システムに63のディスク・グループ

  • 1つのストレージ・システムに10,000のASMディスク

  • ASMディスクごとに最大4PBのストレージ

  • ストレージ・システムごとに最大40EBのストレージ

  • ディスク・グループごとに100万のファイル

Oracle Databaseは、最大で128TBまでのデータファイルのサイズをサポートします。ASMは、すべての冗長性モードで128TBよりも大きいファイル・サイズをサポートします。これにより、今後の拡張に対応するほぼ無制限の容量が提供されます。ASMファイル・サイズの制限は、次のとおりです。

  • 外部冗長性 - 140PB

  • 標準冗長性 - 42PB

  • 高冗長性 - 15PB

ディスク・グループの互換性

この項では、次のトピックに基づいてディスク・グループの互換性について説明します。

ディスク・グループの互換性の概要

ディスク・グループの互換性機能により、Oracle Database 10gおよびOracle Database 11gの両方のディスク・グループを使用する場合、環境の相互運用が可能になります。たとえば、ディスク・グループ互換性設定をOracle Database 10gにした場合、Database 10gデータベース・クライアントは、Oracle Database 11g ASMで作成されたディスク・グループにアクセスできます。

互換性を決定するディスク・グループ属性は、COMPATIBLE.ASMCOMPATIBLE.RDBMSです。属性設定COMPATIBLE.ASMはASMインスタンス・タイプについて、COMPATIBLE.RDBMSはRDBMSインスタンス・タイプについて、システムで使用可能なOracle Databaseの最小ソフトウェア・バージョン番号を決定します。たとえば、ASMの互換性設定が11.1で、RDBMSの互換性が10.1に設定されている場合、ASMソフトウェア・バージョンは最低でも11.1、Oracle Databaseクライアント・ソフトウェア・バージョンは最低でも10.1である必要があります。

ディスク・グループを作成する際に、CREATE DISKGROUP SQL文でCOMPATIBLE.ASMおよびCOMPATIBLE.RDBMSの属性設定を指定できます。ALTER DISKGROUP SQL文は、既存のディスク・グループのcompatible属性設定を更新できます。指定しない場合、Oracle Database 11gでは、ASMのCOMPATIBLE.ASM属性とCOMPATIBLE.RDBMS属性のデフォルト設定はいずれも10.1です。compatible属性設定の有効な組合せについては、表4-2を参照してください。

ディスク・グループのRDBMSとASMの互換性設定を拡張すると、上位のリリースで使用可能なASMの新機能を使用できます。たとえば、RDBMSとASMの互換性が11.1に設定されたディスク・グループは、Oracle 11gの新機能(可変エクステント・サイズや高速ミラー再同期など)を利用できます。互換性属性設定の組合せに対して使用可能な機能については、表4-3を参照してください。


注意:

  • ディスク・グループのcompatible属性設定は、拡張のみ可能です。低い互換性設定に戻すことはできません。

  • ディスク・グループの互換性設定により、使用する環境でASMの最新機能を使用できるかどうかが決定されます。


ディスク・グループの互換性属性

COMPATIBLE.ASMCOMPATIBLE.RDBMSディスク・グループ属性は、Oracle ASMインスタンスとデータベース・インスタンスの互換性設定をそれぞれ指定します。次のトピックに基づいてこれらの属性について説明します。

COMPATIBLE.ASM

COMPATIBLE.ASM属性の値は、ディスク・グループを使用するASMインスタンスの最小ソフトウェア・バージョンを決定します。この設定は、ディスク上のASMメタデータのデータ構造の形式も決定します。ファイル内容の形式は、データベース・インスタンスによって決まります。Oracle Database 11gのASMの場合、10.1COMPATIBLE.ASM属性のデフォルト設定です。

COMPATIBLE.RDBMS

ディスク・グループCOMPATIBLE.RDBMS属性の値は、ディスク・グループを使用するデータベース・インスタンスの最小のCOMPATIBLEデータベース初期化パラメータ設定を決定します。たとえば、データベースのCOMPATIBLE初期化パラメータが11.1.0に設定される場合、COMPATIBLE.RDBMS10.111.1までの値に設定できます。Oracle Database 11gのASMの場合、10.1COMPATIBLE.RDBMS属性のデフォルト設定になります。


注意:

COMPATIBLE.RDBMS属性を拡張すると、以前の設定に戻すことはできません。COMPATIBLE.RDBMS属性を拡張する前に、ディスク・グループを使用するすべてのデータベースのCOMPATIBLE初期化パラメータの値が少なくともCOMPATIBLE.RDBMSの新しい設定に設定されていることを確認してから、属性の値を拡張してください。


注意:

データベース初期化パラメータCOMPATIBLEを使用すると、新しいリリースのOracleを使用できる一方で、以前のリリースの下位互換性も同時に保証されます。COMPATIBLE初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。

ディスク・グループの互換性属性の設定

ディスク・グループの互換性は、CREATE DISKGROUPまたはALTER DISKGROUP SQL文を使用して設定できます。

この項の内容は次のとおりです。

COMPATIBLE.RDBMS属性とCOMPATIBLE.ASM属性の値を設定する場合、Oracle Databaseの有効なリリース番号の少なくとも先頭2桁を指定します。たとえば、互換性を'10.1'または'11.1'のように指定できます。欠落しているバージョン番号の桁はゼロとみなされます。


注意:

ディスク上で互換性属性の値を拡張すると、元に戻せません。以前の値に戻すには、古い互換性属性で新しいディスク・グループを作成し、そのディスク・グループに含まれていたデータベース・ファイルをリストアする必要があります。


関連項目:

ディスク・グループの互換性に関するSQL文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

互換性属性設定の有効な組合せ

表4-2は、COMPATIBLE.ASMおよびCOMPATIBLE.RDBMS属性の有効な組合せと、各組合せに対して有効なASMインスタンスとデータベース・インスタンスのバージョンを示しています。

表4-2 ディスク・グループの互換性属性設定のマトリクス

COMPATIBLE.ASM COMPATIBLE.RDBMS ASMインスタンスのバージョン RDBMSインスタンスCOMPATIBLE設定

10.1

10.1

>=10.1

>=10.1

11.1

10.1

>=11.1

>=10.1

11.1

10.2

>=11.1

>=10.2

11.1

11.1

>=11.1

>=11.0


表4-2に基づくASMとデータベースのリリースで考えられる組合せの一部は、次のとおりです。

  • データベースのリリースは11.1(COMPATIBLE11.0に設定)、ASMのリリースは10g。ASM機能は10gに残っています。

  • データベースのリリースは10g、ASMのリリースは11.1。COMPATIBLE.ASMCOMPATIBLE.RDBMSのディスク・グループ属性はどちらも、デフォルト値の10.1に設定されています。ASMディスク・グループ機能は10gに残っています。

  • データベースのリリースは10g、ASMのリリースは11.1。COMPATIBLE.ASM11.1に、COMPATIBLE.RDBMS10.1に設定されています。ASMディスク・グループ属性は、V$ASM_ATTRIBUTEビューに表示されています。ディスク・グループ機能については、表4-3を参照してください。

  • データベースのリリースは11.1(COMPATIBLE11.0に設定)、ASMのリリースは11.1。COMPATIBLE.ASMCOMPATIBLE.RDBMSのディスク・グループ属性はどちらも、11.1に設定されています。ASMディスク・グループ属性は、V$ASM_ATTRIBUTEビューに表示されています。ディスク・グループ機能については、表4-3を参照してください。


注意:

ASMリリース10gの実行中、またはCOMPATIBLE.ASM値が10.1の場合、V$ASM_ATTRIBUTEビューには行はまったく表示されません。かわりに、COMPATIBLE.ASMCOMPATIBLE.RDBMSのディスク・グループ属性の値を、V$ASM_DISKGROUPビューのCOMPATIBILITY列とDATABASE_COMPATIBILITY列で確認できます。V$ASM_DISKGROUPビューのALLOCATION_UNIT_SIZE列には、AU_SIZEディスク・グループ属性の値が表示されています。

互換性属性によるCREATE DISKGROUPの使用

ディスク・グループを作成する際に、CREATE DISKGROUP文を使用してディスク・グループの互換性設定を指定できます。

次の例では、標準冗長性のディスク・グループdiskgrp1を作成します。このディスク・グループのASMの互換性は11.1に設定され、RDBMSの互換性はデフォルト(COMPATIBLE.RDBMSのデフォルトは11.1以下であることが前提)に設定されています。

CREATE DISKGROUP diskgrp1 DISK '/dev/raw/*'
       ATTRIBUTE 'compatible.asm' = '11.1';

次の例では、ASMとRDBMSの両方の互換性が11.1に設定された標準冗長性のディスク・グループdiskgrp2を作成します。

CREATE DISKGROUP diskgrp2 DISK '/dev/raw/*'
       ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';

互換性属性によるALTER DISKGROUPの使用

ディスク・グループを作成した後に、ALTER DISKGROUP SQL文を使用して、互換性属性を変更できます。ALTER DISKGROUP SQL文を使用すると、変更をコミットする前に、指定のディスク・グループの互換性を拡張できます。

ALTER DISKGROUPを実行する場合、互換性を拡張してもデータベースおよびファイル・システムの機能が低下しないように、影響を受けるデータベースとファイル・システムをすべてオンラインにする必要があります。ディスク・グループの互換性を拡張する際は、COMPATIBLE.RDBMS属性の前にCOMPATIBLE.ASM属性を拡張して、必ず表4-2に示したcompatible属性設定の有効な組合せにしてください。

次の例では、ディスク・グループdiskgrp3のASMの互換性を11.1に拡張します。ディスク・グループdiskgrp3にアクセスするには、ASMインスタンスがリリース11.1以上である必要があります。

ALTER DISKGROUP diskgrp3 SET ATTRIBUTE 'compatible.asm' = '11.1'

次の例では、ディスク・グループdiskgrp4のRDBMSの互換性を11.1に拡張します。この例では、ASMの互換性がすでに11.1に拡張されていることが前提です。

ALTER DISKGROUP diskgrp4 SET ATTRIBUTE 'compatible.rdbms' = '11.1'

互換性属性設定の表示

互換性属性値は、V$ASM_ATTRIBUTEビューに表示されるのみでなく、V$ASM_DISKGROUPビューのDATABASE_COMPATIBILITYおよびCOMPATIBILITYという列にも表示されます。V$ASM_ATTRIBUTEビューの問合せの例は、例4-2「ディスク・グループおよび関連付けられた属性の表示」を参照してください。


関連項目:

  • ディスク・グループ属性の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • V$ASM_DISKGROUPV$ASM_ATTRIBUTE動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。


ディスク・グループの互換性を設定する際の考慮事項

ディスク・グループの互換性設定を変更する場合、いくつかの考慮事項に注意する必要があります。

  • 互換性設定を変更する前に、ASMCMDのmd_backupコマンドによってディスク・グループのバックアップが行われた場合、更新されたディスク・グループのフル・バックアップ・ファイルは正しくありません。以前のフル・バックアップをリストアすると、ディスク・グループは以前の互換性設定に設定されています。

    以前のバックアップを使用して一部のメタデータをリストアできます。たとえば、新しいディスク・グループを作成し、バックアップ・ファイルを使用してテンプレート、エイリアス・ディレクトリのメタデータをリストアできます。md_backupおよびmd_restoreの使用については、「md_backupコマンド」および「md_restoreコマンド」を参照してください。

  • ディスク・グループの互換性設定は、すべての複製環境に対して同じにする必要があります。

  • ローリング・アップグレード中にディスク・グループの互換性設定は変更できません。

  • 互換性設定は、拡張のみ可能です。設定を元に戻すことはできません。

  • ディスク・グループの互換性設定の組合せがすべて有効になるわけではありません。各種組合せにおいて無効になる機能もあります。COMPATIBLE.ASMCOMPATIBLE.RDBMS設定の有効な組合せについては、表4-2を参照してください。COMPATIBLE.ASMCOMPATIBLE.RDBMSの有効な組合せによって使用可能になるディスク・グループ機能については、表4-3を参照してください。

表4-3 ディスク・グループの互換性属性設定により使用可能になる機能

使用可能なディスク・グループ機能 COMPATIBLE.ASM COMPATIBLE.RDBMS

異なるAUサイズ(1、2、4または8MB)

>= 10.1

=< COMPATIBLE.ASM設定

V$ASM_ATTRIBUTEビューに表示される属性

11.1

=< COMPATIBLE.ASM設定

より大きなAUサイズ(16、32または64MB)のサポート

11.1

11.1

高速ミラー再同期

11.1

11.1

可変サイズのエクステント

11.1

11.1

優先読取りの障害グループ

11.1

11.1


表4-3に示す以外のASM機能については、ディスク・グループ属性設定を拡張する必要はありません。

複製環境でディスク・グループの互換性を設定する際の考慮事項

ディスク・グループの互換性を拡張すると、大きすぎてOracleデータベースの以前のリリースでは管理できないファイルを作成できます。複製サイトではこれらの大きなファイルを管理するには引き続き以前のリリースのソフトウェアを使用できないため、ファイル・サイズの制限に注意する必要があります。

表4-4は、COMPATIBLE.RDBMS設定でサポートされる最大ASMファイル・サイズを示しています。どのような場合でも、メモリー消費は280MBになることに注意してください。Oracle Database 11gの場合、各サイズのエクステント・ポインタの数は16800です。これは残りの部分を使用した最大サイズです。RDBMSインスタンスでは、最大ファイル・サイズは128TBに制限されます。

表4-4 ASMファイルの最大サイズ

冗長性 COMPATIBLE.RDBMS = 10.1 COMPATIBLE.RDBMS = 11.1

外部

35TB

140PB

標準

5.8TB

23PB

3.9TB

15PB


表4-4は、Oracle Database 10gでは、外部冗長性の場合ファイル・サイズは最大で35TBまでしかサポートできないことを示しています。RDBMSの互換性を11.1に拡張すると、ファイルを35TBより大きくすることができます。ただし、サイズが大きくなり、障害時リカバリ・サイトのディスク・グループCOMPATIBLE.RDBMS設定がそのサイズと互換しない場合は、レプリケートされた障害時リカバリ・サイトでファイルを使用できなくなります。


関連項目:

  • データベースの互換性については、『Oracle Databaseアップグレード・ガイド』を参照してください。

  • COMPATIBLE初期化パラメータと不可逆の互換性については、『Oracle Database管理者ガイド』を参照してください。

  • COMPATIBLE初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。


ディスク・グループのマウントおよびディスマウント

ASM_DISKGROUPS初期化パラメータで指定したディスク・グループは、ASMインスタンスの起動時に自動的にマウントされます。これにより、ASMと同じノードで動作しているすべてのデータベース・インスタンスがこれらのディスク・グループを使用できるようになります。ディスク・グループは、ASMインスタンスの停止時にディスマウントされます。また、ASMでは、ディスク・グループは最初に作成するときにも自動的にマウントされ、削除するときにディスマウントされます。

ディスク・グループを手動でマウントまたはディスマウントする必要がある場合があります。これらのアクションを実行するには、ALTER DISKGROUP...MOUNTまたはALTER DISKGROUP...DISMOUNT文を使用します。ディスク・グループは名前別にマウントまたはディスマウントすることも、ALLを指定することもできます。

オープン・ファイルを含むディスク・グループをディスマウントしようとした場合、FORCE句も指定しないかぎり、この文は失敗します。

RESTRICTEDモードのクラスタ化ASM環境では、ディスク・グループは単一インスタンスの排他モードでマウントされます。このクラスタ内の他のASMインスタンスはこのディスク・グループをマウントできません。このモードの場合、ASMクライアントはこのディスク・グループを使用できません。このモードは、高速リバランスを実行する場合に使用します。

次のSQL文では、ASMインスタンスに現在マウントされているすべてのディスク・グループをディスマウントします。

ALTER DISKGROUP ALL DISMOUNT;

次のSQL文では、ディスク・グループdgroup1をマウントします。

ALTER DISKGROUP dgroup1 MOUNT;

FORCEオプションを使用したディスク・グループのマウント

標準冗長性および高冗長性のディスク・グループでは、ALTER DISKGROUP文のMOUNT句でFORCEオプションを使用すると、使用可能なASMディスクが十分にある場合、ディスク・グループをマウントできます。ディスク・グループに完全なエクステント・セットが1つ以上あることがASMで検出されると、ディスク・グループのマウントは成功します。1つ以上のディスクが使用不可であると判明した場合、これらのディスクはオフラインになり、DISK_REPAIR_TIMEが経過した後に削除されます。

クラスタ化されたASM環境では、ASMインスタンスがディスク・グループをマウントする最初のインスタンスでない場合、MOUNT FORCE文の使用は失敗します。これは、ディスクが別のインスタンスからアクセスされたとしても、ローカルではアクセスできないためです。

FORCEオプションは、次の例のように使用します。この場合、disk_group_nameは、強制的にマウントするディスク・グループの名前です。

ALTER DISKGROUP disk_group_name MOUNT FORCE

関連項目:

ALTER DISKGROUP文およびFORCEオプションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

ディスク・グループ・メタデータの内部整合性のチェック

ALTER DISKGROUP文を使用して、CHECKキーワードでディスク・グループ・メタデータの内部整合性をチェックできます。この文を使用すると、ディスク・グループ内の特定のファイル、ディスク・グループ内の特定のディスクまたはすべてのディスク、あるいはディスク・グループ内の特定の障害グループをチェックできます。これらのチェックを実行するには、ディスク・グループをマウントする必要があります。

デフォルトでは、CHECK DISK GROUP句ですべてのメタデータ・ディレクトリを検証します。ASMにサマリー・エラーが表示され、エラーの詳細がアラート・ログに書き込まれます。CHECKキーワードは、次の操作を実行します。

REPAIR | NOREPAIR句は、チェック中に検出されるエラーをASMが修復する必要があるかどうかを指定します。デフォルトはNOREPAIRです。NOREPAIR句を使用して非一貫性に関するアラートを受信し、ASMがエラーを自動的に解決しないようにします。次の例の文では、ディスク・グループdgroup1内のすべてのディスクについてメタデータの整合性をチェックします。

ALTER DISKGROUP dgroup1 CHECK ALL;

関連項目:

CHECK句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

ディスク・グループの削除

DROP DISKGROUP文を使用すると、ASMディスク・グループおよび必要に応じてそのすべてのファイルを削除できます。ディスク・グループに含まれる任意のファイルも削除する必要がある場合は、INCLUDING CONTENTS句を指定できます。デフォルトはEXCLUDING CONTENTSです。この場合、構文上の整合性が保たれ、内容のあるディスク・グループの削除を回避できます。

DROP DISKGROUP文が成功するには、ASMインスタンスが起動しており、ディスク・グループ・ファイルが開かれていない状態でディスク・グループがマウントされている必要があります。この文は、ディスク・グループが削除されるまでは戻されません。

ディスク・グループを削除すると、ディスク・グループはディスマウントされ、サーバー・パラメータ・ファイルを使用している場合はASM_DISKGROUPS初期化パラメータからディスク・グループ名が削除されます。テキスト初期化パラメータ・ファイルを使用しており、ASM_DISKGROUPS初期化パラメータにこのディスク・グループが記載されている場合、次回ASMインスタンスを停止して再起動する前に、このディスク・グループ名をASM_DISKGROUPS初期化パラメータから削除する必要があります。

次の文では、dgroup1を削除します。

DROP DISKGROUP dgroup1;

dgroup1に含まれるファイルのいずれも開かれていないことが確認された後、ディスク・グループの各ディスクのヘッダーがリライトされ、ASMのフォーマット情報が削除されます。この文にはINCLUDING CONTENTSが指定されていないため、ディスク・グループにファイルが含まれていると、削除操作が失敗します。

ディスク・グループをマウントできないが削除する必要がある場合、DROP DISKGROUP文のFORCEオプションを使用できます。このコマンドを使用すると、次の例のように、ASMインスタンスによってマウントできないディスク・グループに属するディスクのヘッダーを削除できます。この場合、disk_group_nameはディスク・グループの名前です。

DROP DISKGROUP disk_group_name FORCE

この操作を実行するディスク・グループは、クラスタ内でマウントされていない必要があります。FORCEオプションを使用する場合、ASMインスタンスにより、ディスク・グループが同じストレージ・サブシステム内の別のASMインスタンスで使用されているかどうかは検証されません。


注意:

FORCEオプションを使用する際は十分に注意してください。

また、Oracle Enterprise Managerを使用してディスク・グループを削除できます。「ディスク・グループの削除」を参照してください。

ビューを使用したASM情報の取得

表4-5のビューを使用して、ASMに関する情報を取得できます。

表4-5 ASMの動的ビュー

ビュー 説明

V$ASM_ALIAS

ASMインスタンスの場合、ASMインスタンスによってマウントされたすべてのディスク・グループにあるすべてのエイリアスにそれぞれ1行が含まれます。

DBインスタンスの場合、行は含まれません。

V$ASM_ATTRIBUTE

定義された属性ごとに1行が表示されます。CREATE DISKGROUPおよびALTER DISKGROUP文で指定された属性以外に、自動的に作成された他の属性がビューに表示されることがあります。COMPATIBLE.ASMが11.1以上に設定されているディスク・グループの属性のみが表示されることに注意してください。

V$ASM_CLIENT

ASMインスタンスの場合、ASMインスタンスによって管理されるディスク・グループを使用しているデータベースを識別します。

DBインスタンスの場合、データベースにオープンのASMファイルがあれば、ASMインスタンスに関する情報が含まれます。

V$ASM_DISK

ASMインスタンスの場合、ASMインスタンスによって検出されたディスクごとに1行が含まれます。これには、ディスク・グループの一部ではないディスクも含まれます。

DBインスタンスの場合、このDBインスタンスで使用中のディスク・グループ内のディスクの行のみが含まれます。

このビューが問い合せられるたびに、ディスク検出が実行されます。

V$ASM_DISK_IOSTAT

ASMクライアントごとにディスクI/O統計に関する情報が表示されます。

DBインスタンスの場合、そのインスタンスの行のみが表示されます。

V$ASM_DISK_STAT

ASMインスタンスの場合、V$ASM_DISKと同じ列が含まれますが、オーバーヘッドを削減するために、ビューが問い合せられてもディスク検出は実行されません。ストレージ・システムに対してディスクに関する新しい情報は戻されません。最も正確なデータが必要な場合は、かわりにV$ASM_DISKを使用します。

V$ASM_DISKGROUP

ASMインスタンスの場合、ディスク・グループを説明します(数、名前、サイズ関連情報、状態および冗長性タイプ)。

DBインスタンスの場合、ローカルのASMインスタンスによってマウントされたすべてのASMディスク・グループごとに1行が含まれます。

このビューが問い合せられるたびに、ディスク検出が実行されます。

V$ASM_DISKGROUP_STAT

ASMインスタンスの場合、V$ASM_DISKGROUPと同じ列が含まれますが、オーバーヘッドを削減するために、ビューが問い合せられてもディスク検出は実行されません。ストレージ・システムに対してディスクに関する新しい情報は戻されません。最も正確なデータが必要な場合は、かわりにV$ASM_DISKGROUPを使用します。

V$ASM_FILE

ASMインスタンスの場合、ASMインスタンスによってマウントされたすべてのディスク・グループにあるすべてのASMファイルにそれぞれ1行が含まれます。

DBインスタンスの場合、行は含まれません。

V$ASM_OPERATION

ASMインスタンスの場合、ASMインスタンスで実行されたすべてのアクティブな長時間のASM操作にそれぞれ1行が含まれます。

DBインスタンスの場合、行は含まれません。

V$ASM_TEMPLATE

ASMまたはDBインスタンスの場合、ASMインスタンスによってマウントされたすべてのディスク・グループにあるすべてのテンプレートにそれぞれ1行が含まれます。


V$ASM_ATTRIBUTEおよびV$ASM_DISKGROUPビューの使用例を例4-2に示しています。V$ASM_ATTRIBUTEビュー出力にディスク・グループを表示するためには、COMPATIBLE.ASMを11.1以上に設定する必要がありますので注意してください。

例4-2 ディスク・グループおよび関連付けられた属性の表示

SQL> SELECT dg.name AS diskgroup, SUBSTR(a.name,1,24) AS name,
     SUBSTR(a.value,1,24) AS value FROM V$ASM_DISKGROUP dg, V$ASM_ATTRIBUTE a
     WHERE dg.name = 'DGROUP1' AND dg.group_number = a.group_number;

DISKGROUP                    NAME                     VALUE
---------------------------- ------------------------ ------------------------
DGROUP1                      compatible.rdbms         11.1.0.0.0
DGROUP1                      compatible.asm           11.1.0.0.0
DGROUP1                      au_size                  1048576
DGROUP1                      disk_repair_time         3.6h
...

V$ASM_DISKおよびV$ASM_DISKGROUPビューの使用例を例4-3に示しています。この例には、ディスク・グループに関連付けられたディスクと、ディスク・グループを使用するために必要なASMおよびデータベースの最小ソフトウェア・バージョンが表示されています。

例4-3 ディスク・グループおよび関連付けられたディスクの表示

SQL> SELECT dg.name AS diskgroup, SUBSTR(d.name,1,16) AS asmdisk,
     SUBSTR(dg.compatibility,1,12) AS asm_compat,
     SUBSTR(dg.database_compatibility,1,12) AS db_compat,
     FROM V$ASM_DISKGROUP dg, V$ASM_DISK d
     WHERE dg.name LIKE 'DGROUP%' AND dg.group_number = d.group_number;

DISKGROUP                      ASMDISK          ASM_COMPAT   DB_COMPAT
------------------------------ ---------------- ------------ ------------
DGROUP1                        DISK1A           11.1.0.0.0   11.0.0.0.0
DGROUP1                        DISK1B           11.1.0.0.0   11.0.0.0.0
DGROUP1                        DISK1C           11.1.0.0.0   11.0.0.0.0
...
DGROUP2                        DISK2A           11.1.0.0.0   10.1.0.0.0
DGROUP2                        DISK2B           11.1.0.0.0   10.1.0.0.0
DGROUP2                        DISK2C           11.1.0.0.0   10.1.0.0.0
...

ASMインスタンスでのV$ASM_CLIENTおよびV$ASM_DISKGROUPビューの使用例を例4-4に示しています。この例には、ディスク・グループと、接続されたデータベース・クライアント・インスタンスに関する情報が表示されています。

例4-4 ディスク・グループおよび関連付けられたクライアント・バージョン設定の表示

SQL> SELECT dg.name AS diskgroup, SUBSTR(c.instance_name,1,12) AS instance,
    SUBSTR(c.db_name,1,12) AS dbname, SUBSTR(c.SOFTWARE_VERSION,1,12) AS software,
    SUBSTR(c.COMPATIBLE_VERSION,1,12) AS compatible
    FROM V$ASM_DISKGROUP dg, V$ASM_CLIENT c
    WHERE  dg.group_number = c.group_number;

DISKGROUP                      INSTANCE     DBNAME   SOFTWARE     COMPATIBLE
------------------------------ ------------ -------- ------------ ------------
CONTROLFILE                    dblinux      dblinux  11.1.0.6.0   11.0.0.0.0
DATAFILE                       dblinux      dblinux  11.1.0.6.0   11.0.0.0.0
LOGFILE                        dblinux      dblinux  11.1.0.6.0   11.0.0.0.0
...

関連項目:

これらすべての動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。