すべてのプロダクト
Search
ドキュメントセンター

Database Autonomy Service:自動フラグメント回収

最終更新日:Jul 18, 2026

Database Autonomy Service (DAS) は、指定された表領域サイズおよび断片化率のしきい値を超える MySQL テーブルから、自動的にテーブルスペースフラグメントを回収します。回収処理はインスタンスのメンテナンスウィンドウ中に実行され、ビジネスへの影響を最小限に抑えるためにワークロードチェックが含まれます。

前提条件

  • インスタンスに対して O&M サービスが有効になっています。

  • インスタンスは以下のいずれかのタイプです。

    • RDS for MySQL の High-availability Edition、Three-node Enterprise Edition、または Cluster Edition インスタンス。

    • MyBase for MySQL High-availability Edition。

  • インスタンスの作成後 14 日以上経過しています。

  • インスタンスの CPU コア数が 4 コア以上です。

背景情報

表領域の断片化の主な原因は以下のとおりです。

  • レコードが削除され、元の領域を再利用できない。

  • レコードが更新される(通常は可変長フィールドで)、元の領域を再利用できない。

  • レコードの挿入によりページ分割が発生し、ページの充填率が低下する。

制限事項

  • 自動フラグメント回収は、InnoDB ストレージエンジンを使用するテーブルに対してのみサポートされています。

    説明

    テーブルのストレージエンジンを確認するには、SHOW TABLE STATUS または SHOW TABLE STATUS LIKE 'table_name'; 文を実行してください。Engine 列の値がそのテーブルのストレージエンジンです。

  • 自動フラグメント回収は、表領域が 5 GB から 100 GB の間のテーブルに対してのみサポートされています。

    説明

    表領域サイズが 5 GB 未満または 100 GB を超える場合、DAS はそのテーブルに対してアクティブなデフラグメンテーションを実行しません。

最適化前のチェック項目

DAS は、断片化した表領域から領域を回収するために、プライマリインスタンス上で OPTIMIZE TABLE または ALTER TABLE コマンドを実行します。断片化したスペースの自動再利用 操作を開始する前に、DAS は以下のチェックを実施します。断片化したスペースの自動再利用 操作は、すべてのチェックに合格した後にのみ実行されます。

  • 以下のいずれかのチェックに失敗した場合、DAS はそのテーブルに対する 断片化したスペースの自動再利用 操作を直ちに停止します。

    • インスタンスの空き領域が、対象テーブルが占有する物理空間の少なくとも 3 倍あること。

      説明

      たとえば、対象テーブルが 30 GB の物理空間を占有している場合、インスタンスには少なくとも 90 GB の空き領域が必要です。

    • テーブルに FULLTEXT インデックスが存在しないこと。

  • 以下のいずれかのチェックに失敗した場合、DAS は 1 ~ 5 分待機して再試行します。現在のメンテナンスウィンドウ内でチェックが合格しない場合は、次のメンテナンスウィンドウで再試行します。断片化したスペースの自動再利用 操作は、すべてのチェックに合格した後にのみ開始されます。

    • インスタンスでバックアップタスクが実行されていないこと。

    • スキーマ変更操作が進行中でないこと。

    • インスタンスの CPU 使用率が特定のしきい値を下回っていること。DAS は 断片化したスペースの自動再利用 に必要な時間を推定し、前日および前週の同一時間帯の CPU 使用率が 70 % を下回っていたことを検証します。また、操作直前の CPU 使用率が 80 % を下回っていることも検証します。

      説明

      たとえば、90 GB の物理空間を占有するテーブルが 12 月 10 日 03:00 に回収スケジュールされており、操作に 30 分かかると予想される場合、DAS は以下を検証します。

      • 12 月 9 日 03:00 ~ 03:30 の CPU 使用率が 70 % を下回っていたこと。

      • 12 月 3 日 03:00 ~ 03:30 の CPU 使用率が 70 % を下回っていたこと。

      • 12月10日の03:00における CPU 使用率は 80% を下回っています。

    • 対象のテーブルで実行中のクエリには、3 秒以上実行されているものはありません。

    • 保留中のトランザクション(コミットされずに 15 秒以上ロックを保持しているトランザクション)が存在しないこと。

    • インスタンスのアクティブセッション数が 64 未満であること。

説明

チェックに合格しない場合、断片化したスペースの自動再利用 タスクは実行されません。手動で OPTIMIZE TABLE コマンドを実行して、断片化した表領域から領域を回収できます。詳細については、「OPTIMIZE TABLE コマンドを使用して MySQL インスタンスの表領域を解放する」をご参照ください。

アクティブなデフラグメンテーションの有効化

  1. DAS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、Intelligent O&M Center > インスタンスモニター をクリックします。

  3. ターゲットインスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページを開きます。

  4. 左側のナビゲーションウィンドウで、自律型センター をクリックします。

  5. 自律型センター ページの右上隅で、Autonomy Service Settings をクリックします。

  6. 自律機能管理 > Autonomous Function Settings タブで、自律サービスのスイッチをオンにします。

  7. 最適化とスロットリング タブで、断片化したスペースの自動再利用 を選択し、以下のパラメーターを設定します。

    重要

    データベースインスタンスのストレージ状態が指定されたしきい値に達すると、DAS はインスタンスの メンテナンスウィンドウ 中にアクティブなデフラグメンテーションを実行します。

    パラメーター

    説明

    表領域

    アクティブなデフラグメンテーションをトリガーする単一の物理テーブルの最小表領域サイズです。有効値:5 GB ~ 100 GB。デフォルト値:10 GB。

    表領域が大きいほど回収に時間がかかります。ビジネス要件に基づいて値を選択してください。

    説明

    データベースインスタンス上のすべての表領域が 5 GB 未満または 100 GB を超える場合、システムはデフラグメンテーションを実行しません。

    断片化率

    アクティブなデフラグメンテーションをトリガーする単一の物理テーブルの断片化率です。有効値:10 % ~ 99 %。デフォルト値:20 %。

    しきい値を高く設定すると、回収頻度が低下します。ビジネス要件に基づいて値を選択してください。

    説明

    データベースインスタンス上のすべてのテーブルの断片化率が 10% 未満の場合、システムはフラグメントの回収を実行しません。

    説明

    たとえば、表領域 を 5 GB、断片化率 を 10 % に設定すると、表領域サイズが 5 GB ~ 100 GB かつ断片化率が 10 % 以上のすべてのテーブルに対してアクティブなデフラグメンテーションがトリガーされます。

  8. 決定 をクリックします。

  9. オプション: Event Subscription Settings をクリックして、アクティブなデフラグメンテーションのイベント通知を設定します。詳細については、「イベントサブスクリプションの有効化」をご参照ください。

  10. データベースインスタンスのアクティブなデフラグメンテーションのステータス更新を受け取るための アラートテンプレート を構成します。

    システムは推奨アラートテンプレートを提示し、対応する自律イベントのアラートルールを追加します。画面の指示に従って構成を完了してください。

    説明
    • インスタンスにすでにアラートテンプレートが構成されている場合は、画面の指示に従って自律イベントのアラートルールをテンプレートに追加してください。

    • アラートテンプレートおよびアラートルールを自分で構成する場合は、「アラートテンプレートの構成」および「アラートルールの構成」をご参照ください。

  11. アラート通知を受信するための アラート連絡先グループ を選択します。

    • 連絡先の追加 をクリックして、新しいアラート連絡先を追加します。

    • 連絡先グループの作成 をクリックして、新しいアラートグループを追加します。

    • 連絡先の横にある 変更 または 削除 をクリックして、連絡先情報を変更または削除します。

    詳細については、「アラート連絡先の管理」をご参照ください。

  12. 設定の送信 をクリックし、表示されるダイアログボックスでアラート設定を確認します。

関連ドキュメント

データベースインスタンスのストレージ領域が不足している場合:

  • ストレージ分析 を使用して、データベースインスタンスのストレージ使用量を確認し、ストレージの問題を特定します。

  • 自動スペース拡張 を有効にして、インスタンスの領域が不足した際に自動的にストレージを拡張し、サービスの安定性を確保します。

API リファレンス

API

説明

UpdateAutoResourceOptimizeRulesAsync

指定されたデータベースインスタンスのアクティブなデフラグメンテーションパラメーターを非同期で設定します。

GetAutoResourceOptimizeRules

指定されたデータベースインスタンスのアクティブなデフラグメンテーションルールを照会します。

DisableAutoResourceOptimizeRules

指定されたデータベースインスタンスのアクティブなデフラグメンテーション機能を無効化します。