~トリガー、負荷調整、トラブル対処まで実務視点で徹底理解~
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ステップが内部的に実行されます:
- メタデータのスキャン(どのエクステントがどこにあるか)
- 再配置対象ブロックの読み出し・書き込み
- メタデータの更新
この間、ASMインスタンスのバックグラウンドプロセス(RBAL、ARBx)が主に動作しています。
■ 5. 進行状況の確認方法:v$asm_operation
SELECT group_number, operation, state, power, sofar, est_work, est_minutes
FROM v$asm_operation;
| カラム | 説明 |
|---|---|
| OPERATION | REBAL(リバランス中) |
| STATE | RUN / 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管理およびデプロイメント・ガイド




コメント