ALTER DISKGROUP
文のREBALANCE
句を使用して、ディスク・グループ内のファイルを手動でリバランスできます。通常、ディスク・グループは構成が変更されるとOracle ASMによって自動的にリバランスされるため、この操作は必要ありません。速度を自身で管理するには、自動リバランス操作ではなく手動リバランス操作の実行が必要になります。
ALTER
DISKGROUP
REBALANCE
文のPOWER
句を使用して、パラレル化の程度を指定し、それによってリバランス操作の速度を指定します。これは最低で0に設定でき、値を0にすると、この文が暗黙的または明示的に再実行されるまではリバランス操作が停止されます。値を大きくすると、リバランス操作の速度が上がります。
デフォルトのリバランス指数は、ASM_POWER_LIMIT
初期化パラメータによって設定されます。POWER
句の値の範囲は、ASM_POWER_LIMIT
初期化パラメータと同じです。ASM_POWER_LIMIT
初期化パラメータの詳細は、「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)を使用している場合でも単一ノードで実行されます。
Oracle ASMが特定のインスタンスで一度に実行できるディスク・グループのリバランスは1回です。異なるディスク・グループに対して複数のリバランスを開始した場合、その操作は使用可能な追加のノードがあれば同時に処理されます。ただし、1つのノードの場合はリバランスは順番に処理されます。異なるノード上の異なるディスク・グループに対するリバランスを明示的に同時に開始できます。
リバランスは、リバランスを実行しているOracle ASMインスタンスの1つの障害の間中続行されます。
REBALANCE
句(および関連するPOWER
およびWAIT/NOWAIT
キーワード)は、ディスクを追加、削除またはサイズ変更するALTER DISKGROUP
コマンドでも使用できます。
注意:
ストレージ構成が変わると、進行中のリバランス操作の処理が再開されます。ユーザー・エラーが原因で次のリバランス操作が失敗した場合、手動リバランスが必要になることがあります。
次の例では、ディスク・グループdata2
を手動でリバランスします。このコマンドは、リバランス操作が完了するまでは戻されません。
リバランス操作の詳細は、「リバランス操作の調整」を参照してください。
例4-9 ディスク・グループの手動リバランス
ALTER DISKGROUP data2 REBALANCE POWER 5 WAIT;