Oracle ASMリバランスの仕組みとは?

ASM

~トリガー、負荷調整、トラブル対処まで実務視点で徹底理解~

Oracle ASM(Automatic Storage Management)には、ディスクグループ内のデータを自動で再配置する「リバランス(Rebalance)」機能が備わっています。この処理は、ディスク構成の変更時に欠かせない重要機能でありながら、性能劣化や長時間の処理など、実運用では課題も多く存在します

本記事では、リバランスの仕組みから発生条件、制御方法、進行確認、パフォーマンスへの影響、トラブル対応に至るまで、DBAとして“本当に理解すべき要点”をプロ視点で解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


■ 1. リバランスとは何か?

リバランスとは、ASMディスクグループ内のデータを、構成変更後に均等に再配置(redistribute)する処理です。ASMはこの処理を自動で行い、以下の目的を達成します:

  • ディスク使用率の平準化(I/O偏り防止)
  • ミラー構成の整合性維持
  • 高速な障害時復旧の準備

■ 2. リバランスが発生するトリガー一覧

操作内容
ディスクの追加新ディスクに既存データを再配置(再分散)
ディスクの削除対象ディスクのデータを別ディスクへ退避
ディスクの無効化(DROP)削除と同様のデータ移動が発生
DISKGROUPのマウント特定条件で再配置が必要と判断された場合

■ 3. リバランスの動作イメージ(テキスト図)

[ディスク追加時のリバランスイメージ]

追加前:
+-----------+-----------+
| /dev/sdc | /dev/sdd |
| 50% | 50% |
+-----------+-----------+

追加後(/dev/sde追加):
+-----------+-----------+-----------+
| /dev/sdc | /dev/sdd | /dev/sde |
| 33.3% | 33.3% | 33.3% ← データ自動再配置
+-----------+-----------+-----------+

■ 4. リバランスの処理内容(内部動作)

リバランス処理では、以下の3ステップが内部的に実行されます:

  1. メタデータのスキャン(どのエクステントがどこにあるか)
  2. 再配置対象ブロックの読み出し・書き込み
  3. メタデータの更新

この間、ASMインスタンスのバックグラウンドプロセス(RBAL、ARBx)が主に動作しています。


■ 5. 進行状況の確認方法:v$asm_operation

SELECT group_number, operation, state, power, sofar, est_work, est_minutes
FROM v$asm_operation;
カラム説明
OPERATIONREBAL(リバランス中)
STATERUN / WAIT / ERROR
POWER優先度(負荷)
SOFAR処理済みブロック数
EST_WORK総作業量(ブロック数)
EST_MINUTES残り時間の推定

✅ 処理完了後、このビューには行が表示されなくなります。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


■ 6. POWERパラメータでリバランスの負荷を調整する

リバランスの速度と負荷は POWER パラメータで調整可能です。

ALTER DISKGROUP arch REBALANCE POWER 5;
POWER値意味
0一時停止
1~5標準的な処理速度(推奨)
6~11処理速度重視(高負荷)

⚠️ 高い POWER はI/O帯域を消費し、業務性能へ影響する場合があるため注意。


■ 7. 自動・手動の実行制御

リバランスは通常自動実行されますが、マニュアルでの起動・停止・再実行も可能です。

-- 再実行
ALTER DISKGROUP arch REBALANCE;

-- 一時停止
ALTER DISKGROUP arch REBALANCE POWER 0;

■ 8. リバランス完了後の確認と使用率検証

SELECT name, total_mb, free_mb, round(free_mb/total_mb*100, 2) AS usage_pct
FROM v$asm_disk
ORDER BY name;

使用率が偏っていないか、リバランスの成果を確認しましょう。


■ 9. 実務でのトラブル事例と対処法

症状原因対処法
リバランスが異常に遅いPOWERが1や0のままPOWER値を上げる(3~5推奨)
リバランス失敗ディスク障害やI/Oエラー該当ディスクをDROP+再構成
業務性能低下POWERが高すぎる低負荷帯(夜間等)で実施、値を下げる
v$asm_operationに残り続けるハング・異常停止ASM再起動やバックグラウンドプロセスの確認

■ 10. 運用上の注意とベストプラクティス

  • リバランスは可能な限り業務時間外に行う
  • ディスクグループの容量使用率を定期チェックし、リバランス対象が均一であることを確認
  • POWERは慎重に調整。高負荷環境では特に注意

■ まとめ:リバランスとはこう使う!

項目ポイント
役割ディスク間のデータ再配置(整列・均等化)
発生タイミングディスク追加・削除・無効化など
処理制御ALTER DISKGROUP ... REBALANCE POWER n
負荷調整POWERパラメータで調整(業務影響に注意)
状況確認v$asm_operationで進行中確認
注意点高負荷や容量逼迫時の挙動に要注意


[参考]
Clusterware管理およびデプロイメント・ガイド

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました