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

Database Autonomy Service:その他のロック分析

最終更新日:Dec 19, 2024

このトピックでは、Database Autonomy Service (DAS) のロック分析機能を使用して、メタデータのロック待機とトランザクションのブロックを分析する方法について説明します。

説明

次の図に示されているデータはテストデータとして使用され、参照のみのためです。 実際のシナリオでは、スレッドIDやSQL文などのパラメーターは、実際のデータベース環境によって異なります。

前提条件

  • データベースインスタンスは、次のいずれかのデータベースエンジンを実行します。

    • ApsaraDB RDS for MySQL

    • PolarDB for MySQL

  • データベースインスタンスがDASに接続されており、正常なアクセス 状態です。 詳細については、「データベースインスタンスのDASへの接続」をご参照ください。

  • DAS Economy EditionまたはDAS Enterprise Editionが有効になっています。

    重要
    • DAS Economy EditionおよびDAS Enterprise Editionは、特定のリージョンでのみ使用できます。 詳細については、「DASのエディションとサポートされている機能」トピックのサポートされているデータベースとリージョンのセクションを参照してください。

    • DAS Economy EditionまたはDAS Enterprise Editionを有効にする方法の詳細については、「DAS Economy EditionおよびDAS Enterprise Editionの有効化と管理」トピックのDAS Economy EditionおよびDAS Enterprise Editionの有効化セクションを参照してください。

ロックタイプ

  • メタデータロック分析

    • データ分析: DASはロック待機関係を推定し、information_schema.processlistなどのテーブルのデータに基づいて対応するダイアグラムを生成します。

  • トランザクションブロック分析

    重要

    MySQL 5.6を実行するPolarDB for MySQLクラスターでは、トランザクションブロック分析機能はサポートされていません。

    • データ分析: DASは、トランザクションブロック関係を分析し、information_schema.processlistおよびinformation_schema.innodb_trxテーブル、および次のテーブルのデータに基づいて、対応するダイアグラムを生成します。

      • ApsaraDB RDS for MySQLの5.6と5.7: information_schema.innodb_lock_waits

      • PolarDB for MySQL 5.7: information_schema.innodb_lock_waits

      • ApsaraDB RDS for MySQLおよびPolarDB for MySQL 8.0: performance_schema.data_lock_waits

    • パラメーター設定: データベースインスタンスがApsaraDB RDS for MySQL 8.0インスタンスまたはPolarDB for MySQL 8.0クラスターの場合、performance_schemaパラメーターをONに設定する必要があります。 データベースインスタンスのパラメーターを変更する方法の詳細については、データベースインスタンスのデータベースエンジンに基づいて次のいずれかのトピックを参照してください。

トリガーモード

ロック分析-トリガー分析

分析タスクの作成

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

  2. 左側のナビゲーションウィンドウで、インスタンスモニター.

  3. 表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。

  4. 左側のナビゲーションウィンドウで、[ロック分析] をクリックします。 [その他のロック分析] セクションで、[分析タスクの作成] をクリックします。

    image.png

詳細を見る

分析結果の前にあるimageをクリックして、メタデータロック待機およびトランザクションブロック分析情報を表示します。 image.png

トランザクションロックの詳細

トランザクションロックの [操作] 列で、[詳細の表示] をクリックします。 トランザクションロックの詳細は、次のいずれかの方法を使用して表示されます。

  • List: ブロックされたトランザクションの詳細をトランザクションロックリストに表示します。 image

  • View: 可視化されたトランザクション待機関係を使用してロックの詳細を表示します。 対応するセッションタイルをクリックすると、下部にセッションの詳細が表示されます。 image.png

メタデータロックの詳細

メタデータロックの [操作] 列で [詳細の表示] をクリックします。 メタデータロックのビューが表示されます。 対応するセッションタイルをクリックすると、対応するセッションの詳細が下部に表示されます。 関連するセッションに対してKILL操作を実行することもできます。 image

SQL Explorerと監査を使用したその他のロック分析

不審なセッションがスリープ状態にあり、SQL情報が利用可能でない場合、そのセッションに対してトランザクションを有効にすることができる。 関連するSQL文は実行されますが、トランザクションはコミットまたはロールバックされません。 この場合、左側のナビゲーションウィンドウで [SQLエクスプローラーと監査] をクリックします。 [監査] タブで、[高度なクエリの有効化] をクリックし、疑わしいセッションのスレッドIDを入力して、セッションで実行されたSQL文をクエリおよび分析します。 この例では、トランザクションがコミットされていないため、ロック待ちが発生します。 image.png

インスタンスセッション-自動分析

手順

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

  2. 左側のナビゲーションウィンドウで、インスタンスモニター.

  3. 表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。

  4. 左側のナビゲーションウィンドウで、[インスタンスセッション] をクリックします。 [セッション管理] タブで、他のロック分析が自動的にトリガーされます。 分析結果は、ページの右上隅に表示されます。 image.png

[インスタンスセッション] ページで詳細を表示する

[インスタンスセッション] ページで、ロック待ちが存在する場合は [詳細の表示] をクリックします。 表示されるページで、トランザクションロックとメタデータロックを表示できます。 image

トランザクションロックの詳細

トランザクションロックの [操作] 列で、[詳細の表示] をクリックします。 トランザクションロックの詳細は、「ロック分析-トリガー分析」セクションで詳細を表示するのと同じ方法で表示できます。 詳細については、「ロック分析-トリガー分析」をご参照ください。

image.png

メタデータロックの詳細

メタデータロックの [操作] 列で [詳細の表示] をクリックします。 メタデータロックの詳細は、「ロック分析-トリガー分析」セクションで詳細を表示するのと同じ方法で表示できます。 詳細については、このトピックの「ロック分析-トリガー分析」セクションのメタデータロックの詳細サブセクションを参照してください。

image.png

ロック分析ページの詳細を表示する

[ロック分析] ページで、分析結果の前にあるをクリックしimageて、[インスタンスセッション] ページで自動的にトリガーされた他のロック分析の履歴統計を表示します。 「ロック分析-トリガー分析」セクションで詳細を表示するのと同じ方法で情報を表示できます。 詳細については、このトピックの「ロック分析-トリガー分析」セクションの詳細サブセクションを参照してください。 image.png

関連ドキュメント