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

ApsaraDB RDS:インスタンスステータスが『Locking』の場合の対応方法

最終更新日:Mar 28, 2026

ApsaraDB RDS インスタンスが Locking ステータスに移行すると、INSERT 文および UPDATE 文の実行に失敗します。本ページでは、このロックの原因、解決方法、および再発防止策について説明します。

症状

ご利用のインスタンスの 基本情報 ページで、ステータスLocking と表示されます。また、INSERT 文および UPDATE 文を実行するとエラーが返されます。

マイナーエンジンバージョン 20190815 以降を実行している MySQL 5.6、5.7、または 8.0 インスタンスでは、ロックの種類に応じてブロックされる操作が異なります。

ロックの種類トリガー条件ブロックされる操作
LOCK_WRITE_GROWTHプライマリインスタンスのストレージが満杯ディスク使用量を増加させる操作。このロック下でデータを削除する場合は、DELETE ではなく DROP または TRUNCATE を使用してください。DELETE はバイナリログファイルを生成し、結果としてディスク使用量が増加し、ロックが継続します。
LOCK_READ読み取り専用インスタンスのストレージが満杯すべての読み取りおよび書き込み操作
LOCK_WRITEインスタンスの有効期限切れ、ApsaraDB MyBase ホストの有効期限切れ、またはインスタンス移行DROP や TRUNCATE を含むすべての書き込み操作

LOCK_WRITE_GROWTH が有効な状態でブロックされた文を実行すると、以下のエラーが発生します。

ERROR 1290 (HY000): The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statement
MySQL 5.1 および 5.5 インスタンス(任意のマイナーエンジンバージョン)、およびマイナーエンジンバージョンが 20190815 より前の MySQL 5.6、5.7、または 8.0 インスタンスでは、ロックの原因に関係なく、インスタンスがロックされている間はすべての操作が許可されません。

原因の診断

操作を行う前に、適用される条件を確認します。

原因確認方法
ストレージが満杯まず 基本情報 ページに移動し、「使用状況統計」セクションのストレージ使用率バーを確認します。使用率が 100 % またはほぼ満杯である場合、ストレージの枯渇が原因です。
支払い遅延または有効期限切れAlibaba Cloud アカウントの未払い残高を確認してください。サブスクリプションインスタンスの場合は、基本情報 ページで有効期限を確認します。
Storage usage on Basic Information page

ストレージ満杯によるロックの解決

ストレージを解放するか、ストレージ容量を拡張するという 2 つの選択肢があります。

警告

データを削除する前に必ずバックアップを取得し、データ損失を防いでください。

ストレージの解放

  1. インスタンス ページに移動します。ご利用のインスタンスが配置されているリージョンを選択し、インスタンス ID をクリックします。

  2. 左側のナビゲーションウィンドウで モニタリングとアラート をクリックし、データタイプごとのストレージ使用状況を確認します。

    Storage usage breakdown on Monitoring and Alerts page

  3. ストレージ使用量の多い項目に応じてデータを削除します。

ストレージ容量の拡張

  1. インスタンス ページに移動します。ご利用のインスタンスが配置されているリージョンを選択し、インスタンス ID をクリックします。

  2. 構成情報 セクション(基本情報 ページ内)で、仕様の変更 をクリックし、ストレージ容量を拡張 します。

  3. 支払いが完了すると、[基本情報] ページの右上隅にある ボタン アイコンをクリックして、[タスク] ページで進行状況を確認できます。また、ApsaraDB RDS コンソール にログインし、左側のナビゲーションウィンドウで [タスクセンター] をクリックして、拡張の進行状況を確認することもできます。

拡張に要する時間は、ストレージタイプによって異なります。

ストレージタイプ所要時間備考
プレミアムローカル SSD異なるインスタンスのローカル記憶域が不足している場合、インスタンス間のデータ移行が発生する可能性があります。変更中に約 30 秒の一時的な切断が発生します。ピーク時間帯を避けて実施し、アプリケーションが自動的に再接続できるよう設定してください。
クラウドディスク約 5 分MySQL および PostgreSQL インスタンス:一時的な切断は発生しません。SQL Server インスタンス:約 30 秒の一時的な切断が発生する場合があります。特定のインスタンスでは、データ損失やワークロードの中断を伴わずにストレージを拡張できます。

支払い遅延または有効期限切れによるロックの解決

  • サブスクリプションインスタンス:インスタンスの更新 を実行し、約 5 分待ちます。インスタンスステータスが 実行中 に戻ったことを確認してください。

  • 従量課金インスタンス:チャージ を実行し、約 5 分待ちます。インスタンスステータスが 実行中 に戻ったことを確認してください。

今後のロック発生の防止

以下の設定を行うことで、「Locking」ステータスを回避できます。

支払いおよび有効期限の通知を設定:

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

  2. 右上隅の 通知 アイコンをクリックし、メッセージセンター ページを開きます。

  3. 左側のナビゲーションウィンドウで 共通設定 をクリックします。

  4. 通知タイプ 列より、製品の支払い遅延・停止・直近のリリースに関する通知 を選択し、変更 をクリックします。

  5. 連絡先の変更 ダイアログボックスでアラート連絡先を選択し、保存 をクリックします。

ストレージ使用率のアラートルールを設定: ストレージ使用率が 90 % を超えた際にトリガーされるアラートルール を設定します。

SQL Explorer および監査機能を有効化: ストレージ使用率が急増した場合、モニタリングとアラート ページを使用して、急増時に実行された SQL ステートメントを特定し、SQL Explorer および監査機能を有効化 して、これらのステートメントを最適化します。

ストレージの自動拡張を有効化: ストレージが不足した場合に、システムが自動的に容量を拡張します。各データベースエンジンの設定ガイドについては、MySQLPostgreSQL、および SQL Server をご参照ください。

SQL ステートメントの最適化: 大規模なデータセットに対して頻繁に ORDER BY や GROUP BY 操作を実行しないでください。これらは大規模な一時ファイルを生成し、ストレージを消費します。

よくある質問

大量のデータを削除したにもかかわらず、LOCK_WRITE_GROWTH が依然として有効なのはなぜですか?

DELETE はレコードおよびデータページを再利用可能としてマークするだけで、基盤となるディスクファイルを縮小したり、表領域を解放したりしません。表領域を解放するには、OPTIMIZE TABLE ステートメントを実行してください。「ApsaraDB RDS for MySQL インスタンスの表領域を解放するために OPTIMIZE TABLE ステートメントを使用する方法」をご参照ください。

ストレージが十分にある、または有効期限を更新したにもかかわらず、インスタンスが依然としてロックされているのはなぜですか?

構成変更などのタスクが実行中です。タスクが完了すると、インスタンスは自動的にロック解除されます。[基本情報] ページの右上隅にある 按钮 アイコンをクリックすると、[タスク] ページでタスクの進捗を確認できます。

ロック中のインスタンスで、インスタンスの仕様を変更できますか?

  • ストレージ枯渇によるロック:はい、設定の変更(アップグレードまたはダウングレード)が可能です。

  • 支払い遅延など他の理由によるロック:まず支払い遅延を解消したうえで、仕様の変更を行ってください。

ロック中のインスタンスが廃止予定のインスタンスタイプを使用しています。ストレージを拡張してロックを解除するにはどうすればよいですか?

まず、現在利用可能なインスタンスタイプに変更したうえで、ストレージを拡張してください。利用可能なインスタンスタイプについては、「主な ApsaraDB RDS インスタンスタイプ」をご参照ください。

ロック中なのに、なぜストレージ使用率が引き続き増加しているのですか?

INSERT および UPDATE はブロックされていますが、読み取り操作は引き続きログファイルおよび一時データを生成します。そのため、インスタンスが Locking ステータスの間でも、ストレージの消費は継続します。