Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » アプリケーション・プロファイリングのチュートリアル » チュートリアル:デッドロックの診断

 

レッスン 4:ブロックされた接続データの確認

[アプリケーション・プロファイリング] モードを使用すると、デッドロックに関係する接続がグラフィックで表示されます。また、[接続のブロック] タブには、ブロックされた接続に関する追加情報も表示されます。

♦  ブロックされた接続データを確認するには、次の手順に従います。
  1. トレーシング・セッション中に作成された分析ファイルを開きます。

    1. Sybase Central で、[アプリケーション・プロファイリング] - [分析ファイルを開くかトレーシング・データベースに接続] を選択します。

    2. [トレーシング・データベース内] を選択します。

    3. [開く] をクリックします。

    4. [ID] タブをクリックし、[ユーザ ID] フィールドに DBA と入力し、[パスワード] フィールドに sql と入力します。

    5. [データベース] タブをクリックし、[データベース・ファイル] フィールドで app_profiling - DBA を参照して選択します。

    6. [OK] をクリックします。

  2. デッドロックのグラフィック表示を参照します。

    1. [アプリケーション・プロファイリングの詳細] ウィンドウ枠で、[ステータス] タブをクリックし、[ロギング・セッション ID] リストから最新の ID を選択します。

      [アプリケーション・プロファイリングの詳細] ウィンドウ枠が表示されない場合は、[表示] - [アプリケーション・プロファイリングの詳細] を選択します。

    2. [アプリケーション・プロファイリングの詳細] ウィンドウ枠の下部で、[デッドロック] タブをクリックします。最新のデッドロックが表示されます。別のデッドロックを参照するには、[デッドロック] リストをクリックします。

    次の図は、UPDATE 文により、どのようにデッドロック状態が作成されたかを示しています。

テーブルには、接続ごとに、別の接続をポイントする矢印が表示されます。

デッドロックに関連する各接続は、次のフィールドが含まれるテーブルで表示されます。

  • 接続名   このフィールドには、接続を開いたユーザ ID が表示されます。

  • SQL 文   このフィールドには、デッドロックに関係する実際の文が表示されます。この場合、Interactive SQL の各インスタンスから実行したプロシージャで検出された UPDATE 文が原因でデッドロックが発生しました。

  • 所有接続 ID   このフィールドには、現在の接続をブロックしている接続の ID が表示されます。

  • レコード ID   このフィールドには、現在の接続がブロックされているローの ID が表示されます。

  • ロールバック操作のカウント   このフィールドには、デッドロックの結果としてロールバックされる必要がある操作回数が表示されます。この場合、プロシージャには UPDATE 文しか含まれていないため、この数は 0 になります。