この章では、自動ストレージ管理(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を使用するデータベース・インスタンスが引き続き動作できることに注意してください。この項の内容は次のとおりです。
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
/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 DISKGROUP
のRESIZE
句を使用して、次の操作を実行できます。
ディスク・グループ内のすべてのディスクのサイズ変更
指定したディスクのサイズ変更
指定した障害グループ内のすべてのディスクのサイズ変更
SIZE
句で新しいサイズを指定しない場合、オペレーティング・システムから戻されるディスクのサイズが使用されます。新しいサイズはASMディスク・ヘッダーに書き込まれ、ディスクのサイズが大きくなっている場合、新しい領域の割当てが即時に可能になります。サイズが小さくなっている場合、リバランスにより、新しいサイズ制限を超えるファイル・エクステントが制限未満の使用可能領域に再配置される必要があります。リバランス操作によってすべてのエクステントを正常に再配置できる場合、新しいサイズが確定されます。正常に再配置できない場合、リバランスは失敗します。
ALTER DISKGROUP
文のUNDROP DISKS
句を使用すると、ディスク・グループ内のディスクに対して保留中の削除操作を取り消すことができます。ディスクの削除操作がすでに完了している場合、この文はディスクのリストアに使用できません。この文は、DROP DISKGROUP
文の結果として削除されたディスク、またはFORCE
句を使用して削除されたディスクのリストアには使用できません。
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_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つ以上のディスクに障害が発生した後、すべてのディスク・グループ・データの冗長性を完全にリストアするための領域が十分であるかどうかを確認する上で役に立ちます。
標準冗長性のディスク・グループの場合、1つの障害グループのすべてのディスクの損失を許容できる十分な空き領域を確保することが最も適切です。空き領域の量は、最大の障害グループのサイズと等しくする必要があります。
高冗長性のディスク・グループの場合、2つの障害グループのすべてのディスクの損失に対応できる十分な空き領域を確保することが最も適切です。空き領域の量は、2つの最大障害グループのサイズ合計と等しくする必要があります。
注意: 複数の障害グループから複数のディスクが失われる場合、データのプライマリ・コピーと冗長コピーも失われる可能性があります。また、冗長性をリストアするのに十分な容量がない場合もASMは引き続き動作します。ただし、別のディスクに障害が発生すると、これ以上の障害を許容することができません。 |
V$ASM_DISKGROUP
ビューには、容量の管理に役立つ情報が含まれる次の列があります。
REQUIRED_MIRROR_FREE_MB
は、ディスク・グループで許容できる最悪の障害が発生した後、完全な冗長性をリストアするためにディスク・グループで使用可能にする必要のある領域の量を示します。この列に表示される領域の量は、ミラー化の影響を考慮します。値は次のように算出されます。
標準冗長性のディスク・グループの場合、値は最大の障害グループにあるすべてのディスクのRAW領域の合計になります。最大の障害グループとは、RAW領域の合計が最大のグループです。たとえば、各ディスクがそれぞれの障害グループにある場合、値は最大容量ディスクのサイズになります。
高冗長性のディスク・グループの場合、値は2つの最大の障害グループにあるすべてのディスクのRAW領域の合計になります。
USABLE_FILE_MB
は、ミラー化のために調整され、ディスクに障害が発生した後、冗長性をリストアするために新しいファイルに使用可能な空き領域の量を示します。USABLE_FILE_MB
は、ディスク・グループの空き領域合計からREQUIRED_MIRROR_FREE_MB
を差し引き、ミラー化の値の調整を行って算出されます。たとえば、標準冗長性のディスク・グループで、ミラー化されたファイルがデフォルトでそのサイズの2倍に等しいディスク領域を使用する場合、実際に残っている使用可能なファイル領域が4GBであると、USABLE_FILE_MB
は約2GBになります。この場合、最大サイズ2GBのファイルを追加できます。
TOTAL_MB
は、ディスク・グループの使用可能な容量の合計です(MB単位)。この列のデータの算出は、ディスク・ヘッダーのオーバーヘッドを考慮に入れます。ディスク・ヘッダーのオーバーヘッドは、ASMディスクとASMファイルの数によって異なります。この値は、通常、RAWストレージ容量の合計の約1%になります。たとえば、ASMにプロビジョニングされたLUN容量の合計が100GBの場合、TOTAL_MB
列の値は約99GBになります。
FREE_MB
は、ディスク・グループの未使用の容量です(MB単位)。データの不均衡は考慮されません。そのため、FREE_MB
列の値が未使用の容量を示していても、いずれかのASMディスクがいっぱいであるために、ディスク・グループ内の不均衡によってデータベースの書込みが失敗するという状況が発生することがあります。手動リバランスを開始して、均等なデータの分散を強制的に行うことにより、FREE_MB
列の値が正確になります。
128KBを使用するファイングレイン・ストライプ化では、ストレージはAUサイズの8倍になるように事前に割り当てられます。したがって、この事前割当てのために、ASM上のデータファイルのサイズはローカル・ファイル・システムよりもわずかに大きくなります。
ASMの標準冗長性または高冗長性を使用する場合、ディスク領域の使用状況の測定は、複数の変数に依存するため、より複雑になります。
注意: TOTAL_MB 列とFREE_MB 列の値は、ASMミラー化を構成しない場合、つまり外部冗長性を使用する場合は領域の使用状況を最適に表します。 |
次の問合せの結果は、各ディスクが独自の障害グループに属している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
この項の内容は次のとおりです。
ファイルに対してミラー化を指定すると、ファイル・エクステントの冗長コピーが自動的に個別の障害グループに格納されます。障害グループは、標準冗長性および高冗長性のディスク・グループにのみ適用されます。ディスク・グループを作成または変更する場合、ディスク・グループごとに障害グループを定義できます。
ASMの冗長性レベルに基づいた3種類のディスク・グループがあります。表4-1に、そのタイプと、サポートされるミラー化レベルおよびデフォルトのミラー化レベルを示します。デフォルトのミラー化レベルは、異なるミラー化レベルを指定しないかぎり、各ファイルの作成時に使用されるミラー化レベルを示します。
表4-1 ASMディスク・グループ・タイプのミラー化オプション
ディスク・グループ・タイプ | サポートされるミラー化レベル | デフォルトのミラー化レベル |
---|---|---|
外部冗長性 |
非保護(なし) |
非保護 |
標準冗長性 |
双方向 3方向 非保護(なし) |
双方向 |
高冗長性 |
3方向 |
3方向 |
冗長性レベルでは、ディスク・グループのディスマウントやデータの消失なしに許容されるディスク障害の数が制御されます。各ファイルは固有の冗長性に基づいて割り当てられますが、デフォルトはディスク・グループから提供されます。冗長性レベルは次のとおりです。
外部冗長性
ASMではミラー化冗長性は提供されません。RAID機能を備えたストレージ・システムを使用します。書込みエラーが発生すると、ディスク・グループは強制的にディスマウントされます。ディスク・グループを正常にマウントするには、すべてのディスクを検出する必要があります。
標準冗長性
ASMによる双方向のミラー化は行われません。デフォルトでは、すべてのファイルがミラー化されるため、各データ・エクステントのコピーが2つ存在することになります。1つのASMディスクの損失は許容されます。
高冗長性
ASMは、デフォルトでトリプル・ミラー化を行います。異なる障害グループの2つのASMディスクの損失は許容されます。
障害グループを使用すると、メタデータおよびユーザー・データをミラー化できます。使用環境における障害グループの数が十分でない場合、システムの信頼性が損われる可能性があります。
この項の内容は次のとおりです。
障害グループは、データをミラー化したコピーを格納するために使用されます。ASMが標準冗長性のファイルにエクステントを割り当てる場合、プライマリ・コピーとセカンダリ・コピーが割り当てられます。ASMでは、プライマリ・コピー以外の別の障害グループに含まれるように、セカンダリ・コピーを格納するディスクが選択されます。各コピーは別の障害グループのディスク上にあるため、障害グループのすべてのディスクで同時に障害が発生してもデータは失われません。
障害グループはディスク・グループのディスクのサブセットです。これらのディスクはハードウェアを共有するため、同時に障害が発生する可能性があります。共通のハードウェアの障害は許容される必要があります。大きなJBODアレイの単一リムーバブル・トレイにある4つのドライブは、この4つのドライブで同時に障害が発生したときにトレイを削除できるため、同じ障害グループ内にある必要があります。キャビネットに冗長電源と冗長クーリングが装備され、キャビネット全体の障害を保護する必要がない場合、同じキャビネット内のドライブを複数の障害グループに置くことができます。ただし、ASMミラー化は、キャビネット全体を破損させるコンピュータ・ルームの火災に対する保護を目的としていません。
障害グループは、明示的に作成されない場合でも常に存在します。ディスクの障害グループを指定しない場合、そのディスクのみを含む新しい障害グループが自動的に作成されます。標準冗長性のディスク・グループには、少なくとも2つの障害グループが含まれる必要があります。高冗長性のディスク・グループには、少なくとも3つの障害グループが必要です。複数の障害グループを使用することをお薦めします。障害グループの数が少ない場合や、障害グループの容量が均一でない場合、割当てに問題が発生し、使用可能なストレージを完全に利用できないことがあります。
ディスク・グループの冗長性レベルおよび障害グループの定義方法に応じて、1つ以上のディスクの障害が原因で次のいずれかの結果が生じる場合があります。
ディスクは最初にオフラインになった後、自動的に削除されます。この場合、ディスク・グループはマウントされて使用可能なままです。また、ミラー化のため、ディスク・グループのすべてのデータは依然としてアクセス可能です。ディスクの削除操作の後、リバランスが実行され、障害が発生したディスク上のデータの冗長性が完全にリストアされます。
ディスク・グループ全体が自動的にディスマウントされます。つまり、データはアクセス不可能になります。
障害グループの使用に関するガイドラインは、次のとおりです。
ディスク・グループ内の各ディスクは、1つの障害グループにのみ属すことができます。
障害グループはすべて同じサイズである必要があります。障害グループのサイズが異なると、可用性が損われることがあります。
ASMでは、標準冗長性のディスク・グループを作成する場合は少なくとも2つの障害グループ、高冗長性のディスク・グループの場合は少なくとも3つの障害グループが必要です。
この項では、次のトピックに基づいて障害グループのよくある質問について説明します。
作成する必要のある障害グループの数
作成する障害グループ数の選択は、データを失わずに許容する必要のある障害のタイプによって決まります。通常、ディスクの数が少ない場合(20以下など)、デフォルトの障害グループの作成の使用が最適です。この場合、すべてのディスクがそれぞれ独自の障害グループに属します。
ディスクの数が少ない場合を対象としたデフォルトの障害グループ作成の使用は、ディスク数が多くても、問題が主にディスク障害である場合に適しています。たとえば、ディスク・グループが複数の小規模なモジュール型ディスク・アレイで構成されている場合があります。1つのモジュール型アレイ全体に障害が発生してもシステムを稼働し続ける必要がある場合、障害グループは1つのモジュール内のディスクで構成される必要があります。1つのモジュールに障害が発生した場合、このモジュール上のすべてのデータが他のモジュールに再配置され、冗長性がリストアされます。データの可用性を損わずに障害を許容する必要のあるハードウェアの共有部品に複数のディスクが依存している場合、これらのディスクは同じ障害グループに入れる必要があります。
同時障害発生後の複数の障害グループのリカバリ方法
同時障害は、複数の障害グループで使用されるハードウェアの一部に障害が発生した場合に発生する可能性があります。このような障害では通常、すべてのディスクが使用できない場合、ディスク・グループを強制的にディスマウントします。
外部、標準または高冗長性を使用する必要のある状況
ASMのミラー化はデータベース・サーバーで実行されるため、外部冗長性を使用してこの処理をストレージ・ハードウェアのRAIDコントローラに負荷分散することをお薦めします。標準冗長性は、次のような状況で使用できます。
ストレージ・システムにRAIDコントローラがない
ストレージ・アレイ間でミラー化を行う
クラスタ構成が拡張されている
通常、ASMのミラー化は、サード・パーティの論理ボリューム・マネージャに対するOracleの代替的な手段です。ASMのミラー化により、Oracleデータベース環境に複雑なソフトウェアをさらにもう1つデプロイしなくてすむようになります。
読取りエラーは、ディスク全体にアクセスできなくなるか、正常なディスクでのメディア破損の結果、発生する可能性があります。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の高速ミラー再同期機能によってリカバリすることが可能な、一時的障害とみなされます。一時的障害は、たとえば、ディスク・パスの不具合(ケーブル障害、ホスト・バス・アダプタ障害、コントローラ障害など)や、ディスク電源の停電などによって発生します。
ASMの高速再同期では、停止時にOFFLINE
のディスクのエクステントに対して保留になっている変更が追跡されます。これらのエクステントは、ディスクがオンラインに戻ったときに再同期されます。
デフォルトでは、ディスクはオフラインになってから3.6時間で削除されます。この削除操作は、DISK_REPAIR_TIME
属性を設定することによって遅らせることもできます。つまり、ディスクを修復してオンラインに戻すまでの時間間隔をこの属性に指定できます。この時間は、分単位(m
、M
)または時間単位(h
、H
)で指定できます。単位を省略すると、デフォルトでは時間単位になります。
この属性が明示的に設定されていない場合、明示的なDROP
AFTER
句なしでOFFLINE
モードに設定されたディスクには、デフォルト値(3.6h
)が適用されます。I/OエラーによってオフラインになったディスクにはDROP
AFTER
句がないので注意してください。
DISK_REPAIR_TIME
属性のデフォルト値は、多くの環境に適合すると思われる予測値です。ただしこの値は、実際の環境で一時ディスク・エラーを回避できるかどうか、およびどの程度の冗長性までなら許容できるかを考慮したうえで、必要であれば適切な時間間隔に変更してください。
経過時間(ディスクがOFFLINE
モードになってからの時間)は、オフラインになったディスクが属しているディスク・グループがマウントされている場合にのみ増分されます。V$ASM_DISK
のREPAIR_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 DISKGROUP 、CREATE DISKGROUP およびASMディスク・グループ属性の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。 |
ASM障害グループを構成する場合、ノードが読み取るエクステントがセカンダリ・エクステントであっても、最も近いエクステントから読み取った方が効率的である場合があります。つまり、ノードからは遠い可能性があるプライマリ・コピーから読み取るのではなく、セカンダリ・エクステントがノードに近ければ、そこから読み取るようASMを構成できます。優先読取りの障害グループは、拡張クラスタにおいて最も役に立ちます。
この機能を使用する場合、拡張クラスタ内のノードに対してローカルであるディスクからミラー化されたエクステント・コピーを1つ以上構成することをお薦めします。ただし、あるインスタンスに対して優先される障害グループが同じOracle RACデータベース内の別のインスタンスにはリモートである可能性があります。優先読取りの障害グループのパラメータ設定は、インスタンス固有のものです。
注意: デフォルトでは、ディスク・グループを作成する場合、ディスク・グループ内のすべてのディスクは1つの障害グループに属します。Oracleでは、ディスク・グループ内のインスタンスごとに優先読取りの障害グループを複数構成することはお薦めしません。インスタンスごとに複数の優先読取りの障害グループを構成すると、アラート・ログにメッセージが書き込まれます。 |
関連項目: 拡張クラスタ内の優先読取りディスクの構成については、『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には、次のような制限があります。
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.ASM
とCOMPATIBLE.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.RDBMS
ディスク・グループ属性は、Oracle ASMインスタンスとデータベース・インスタンスの互換性設定をそれぞれ指定します。次のトピックに基づいてこれらの属性について説明します。
COMPATIBLE
.ASM
属性の値は、ディスク・グループを使用するASMインスタンスの最小ソフトウェア・バージョンを決定します。この設定は、ディスク上のASMメタデータのデータ構造の形式も決定します。ファイル内容の形式は、データベース・インスタンスによって決まります。Oracle Database 11gのASMの場合、10.1
がCOMPATIBLE.ASM
属性のデフォルト設定です。
ディスク・グループCOMPATIBLE.RDBMS
属性の値は、ディスク・グループを使用するデータベース・インスタンスの最小のCOMPATIBLE
データベース初期化パラメータ設定を決定します。たとえば、データベースのCOMPATIBLE
初期化パラメータが11.1.0
に設定される場合、COMPATIBLE.RDBMS
は10.1
〜11.1
までの値に設定できます。Oracle Database 11gのASMの場合、10.1
が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(COMPATIBLE
は11.0
に設定)、ASMのリリースは10g。ASM機能は10gに残っています。
データベースのリリースは10g、ASMのリリースは11.1。COMPATIBLE.ASM
とCOMPATIBLE.RDBMS
のディスク・グループ属性はどちらも、デフォルト値の10.1
に設定されています。ASMディスク・グループ機能は10gに残っています。
データベースのリリースは10g、ASMのリリースは11.1。COMPATIBLE.ASM
は11.1
に、COMPATIBLE.RDBMS
は10.1
に設定されています。ASMディスク・グループ属性は、V$ASM_ATTRIBUTE
ビューに表示されています。ディスク・グループ機能については、表4-3を参照してください。
データベースのリリースは11.1(COMPATIBLE
は11.0
に設定)、ASMのリリースは11.1。COMPATIBLE.ASM
とCOMPATIBLE.RDBMS
のディスク・グループ属性はどちらも、11.1
に設定されています。ASMディスク・グループ属性は、V$ASM_ATTRIBUTE
ビューに表示されています。ディスク・グループ機能については、表4-3を参照してください。
注意: ASMリリース10gの実行中、またはCOMPATIBLE.ASM 値が10.1 の場合、V$ASM_ATTRIBUTE ビューには行はまったく表示されません。かわりに、COMPATIBLE.ASM とCOMPATIBLE.RDBMS のディスク・グループ属性の値を、V$ASM_DISKGROUP ビューのCOMPATIBILITY 列とDATABASE_COMPATIBILITY 列で確認できます。V$ASM_DISKGROUP ビューのALLOCATION_UNIT_SIZE 列には、AU_SIZE ディスク・グループ属性の値が表示されています。 |
ディスク・グループを作成する際に、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
DISK
GROUP
SQL文を使用して、互換性属性を変更できます。ALTER
DISK
GROUP
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「ディスク・グループおよび関連付けられた属性の表示」を参照してください。
関連項目:
|
ディスク・グループの互換性設定を変更する場合、いくつかの考慮事項に注意する必要があります。
互換性設定を変更する前に、ASMCMDのmd_backup
コマンドによってディスク・グループのバックアップが行われた場合、更新されたディスク・グループのフル・バックアップ・ファイルは正しくありません。以前のフル・バックアップをリストアすると、ディスク・グループは以前の互換性設定に設定されています。
以前のバックアップを使用して一部のメタデータをリストアできます。たとえば、新しいディスク・グループを作成し、バックアップ・ファイルを使用してテンプレート、エイリアス・ディレクトリのメタデータをリストアできます。md_backup
およびmd_restore
の使用については、「md_backupコマンド」および「md_restoreコマンド」を参照してください。
ディスク・グループの互換性設定は、すべての複製環境に対して同じにする必要があります。
ローリング・アップグレード中にディスク・グループの互換性設定は変更できません。
互換性設定は、拡張のみ可能です。設定を元に戻すことはできません。
ディスク・グループの互換性設定の組合せがすべて有効になるわけではありません。各種組合せにおいて無効になる機能もあります。COMPATIBLE.ASM
とCOMPATIBLE.RDBMS
設定の有効な組合せについては、表4-2を参照してください。COMPATIBLE.ASM
とCOMPATIBLE.RDBMS
の有効な組合せによって使用可能になるディスク・グループ機能については、表4-3を参照してください。
表4-3 ディスク・グループの互換性属性設定により使用可能になる機能
使用可能なディスク・グループ機能 | COMPATIBLE.ASM | COMPATIBLE.RDBMS |
---|---|---|
異なるAUサイズ(1、2、4または8MB) |
>= 10.1 |
=< COMPATIBLE.ASM設定 |
11.1 |
=< COMPATIBLE.ASM設定 |
|
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
設定がそのサイズと互換しない場合は、レプリケートされた障害時リカバリ・サイトでファイルを使用できなくなります。
関連項目:
|
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;
標準冗長性および高冗長性のディスク・グループでは、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
キーワードは、次の操作を実行します。
ディスクの整合性を検証します。
整合性に関してファイルのエクステント・マップと割当て表をすべてクロス・チェックします。
エイリアス・メタデータ・ディレクトリとファイル・ディレクトリが正しくリンクされているかどうかをチェックします。
エイリアス・ディレクトリ・ツリーが正しくリンクされているかどうかを検証します。
ASMメタデータ・ディレクトリに、到達できない割当てブロックがないかどうかをチェックします。
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を使用してディスク・グループを削除できます。「ディスク・グループの削除」を参照してください。
表4-5のビューを使用して、ASMに関する情報を取得できます。
表4-5 ASMの動的ビュー
ビュー | 説明 |
---|---|
ASMインスタンスの場合、ASMインスタンスによってマウントされたすべてのディスク・グループにあるすべてのエイリアスにそれぞれ1行が含まれます。 DBインスタンスの場合、行は含まれません。 |
|
定義された属性ごとに1行が表示されます。 |
|
ASMインスタンスの場合、ASMインスタンスによって管理されるディスク・グループを使用しているデータベースを識別します。 DBインスタンスの場合、データベースにオープンのASMファイルがあれば、ASMインスタンスに関する情報が含まれます。 |
|
ASMインスタンスの場合、ASMインスタンスによって検出されたディスクごとに1行が含まれます。これには、ディスク・グループの一部ではないディスクも含まれます。 DBインスタンスの場合、このDBインスタンスで使用中のディスク・グループ内のディスクの行のみが含まれます。 このビューが問い合せられるたびに、ディスク検出が実行されます。 |
|
ASMクライアントごとにディスクI/O統計に関する情報が表示されます。 DBインスタンスの場合、そのインスタンスの行のみが表示されます。 |
|
ASMインスタンスの場合、 |
|
ASMインスタンスの場合、ディスク・グループを説明します(数、名前、サイズ関連情報、状態および冗長性タイプ)。 DBインスタンスの場合、ローカルのASMインスタンスによってマウントされたすべてのASMディスク・グループごとに1行が含まれます。 このビューが問い合せられるたびに、ディスク検出が実行されます。 |
|
ASMインスタンスの場合、 |
|
ASMインスタンスの場合、ASMインスタンスによってマウントされたすべてのディスク・グループにあるすべてのASMファイルにそれぞれ1行が含まれます。 DBインスタンスの場合、行は含まれません。 |
|
ASMインスタンスの場合、ASMインスタンスで実行されたすべてのアクティブな長時間のASM操作にそれぞれ1行が含まれます。 DBインスタンスの場合、行は含まれません。 |
|
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リファレンス』を参照してください。 |