全部產品
Search
文件中心

ApsaraDB for OceanBase (Deprecated):會話診斷

更新時間:Jul 02, 2025

本文介紹了如何查看會話診斷資訊,包括會話的統計資訊、工作階段狀態等。

查看會話統計資訊概覽

  1. 登入 OceanBase 管理主控台

  2. 在左側導覽列,選擇 自治服務 > 診斷中心

  3. 執行個體詳情 地區,單擊目標執行個體名稱。

    系統自動跳轉到診斷中心。

  4. 在左側導覽列,單擊 會話診斷

  5. 統計資訊 地區,您可以查看資料庫當前會話統計資訊和租戶會話詳情,包括活躍會話和空閑會話。您也可以選擇租戶後,通過 租戶會話會話統計死結檢測行鎖分析 四個頁簽查看對應詳情。

查看租戶會話

租戶會話 頁簽:

說明
  • 代理會話 ID 是資料庫Proxy 伺服器記錄的會話 ID。

  • 資料庫會話 ID 是 OceanBase 伺服器記錄的會話 ID,用來標識該 OceanBase 伺服器上的唯一一個資料庫連接。

  • 租戶會話 頁簽僅展示當前時刻會話。一個代理會話對應多個資料庫會話,但只展示一個資料庫會話。若存在活躍資料庫會話則展示此會話,若不存在活躍資料庫會話則隨機展示一個。

  • 勾選 僅查看活躍會話,在會話列表中查看活躍會話資訊。勾選多個活躍會話,可大量設定限流。

    說明

    如果所勾選會話對應的 資料庫名 中包含 No_database(即在串連資料庫時未指定資料庫名字),則無法大量設定限流。

  • 勾選 按 SQL ID 彙總會話,將相同 SQL ID 的會話進行匯總展示。

    說明
    • 按 SQL ID 彙總可以協助您分析不同 SQL ID 的流量和消耗對比,確認系統資源消耗方。

    • 勾選 按 SQL ID 彙總會話 的前提是 僅查看活躍會話 已勾選。

  • 勾選 按彙總 in 展示會話,按照彙總 in SQL 展示會話,但不影響統計資料。勾選多個活躍會話,可大量設定限流。

    說明
    • 彙總 in SQL 是指忽略 SQL 陳述式 in 子句中的常量參數的個數,統一將每個 in 子句都視作只有一個常量參數,按照此規則後進行 SQL 陳述式的參數化並計算SQL ID, SQL ID 相同的 SQL 為同類,進行彙總。

    • 勾選 按彙總 in 展示會話 的前提是 按 SQL ID 彙總會話 已勾選。

    • 如果所勾選會話對應的 資料庫名 中包含 No_database(即在串連資料庫時未指定資料庫名字),則無法大量設定限流。

  • 通過 使用者資料庫名 對會話進行篩選。

  • 通過 代理會話 ID資料庫會話 IDSQL ID、SQL來源、目標端資料庫節點 對會話進行搜尋。

  • 通過 執行時間(S)CPU 時間(S) 對會話進行排序。

  • 單擊 SQL,進入 SQL 執行詳情 頁面查看 SQL 文本、最佳化建議及運算元執行計畫等。

    • 對於滿足如下條件之一的 SQL,SQL 執行詳情 頁面會顯示運算元執行計畫及運算元執行詳情,如下圖所示:

      • 使用了 MONITOR Hint 的 SQL

      • 使用了與並存執行相關 Hint 的 SQL

      • 慢 SQL(執行時間超過 5s)image

        說明
        • OBServer 必須為 V4.0 及以上版本。

        • 對於快速執行的運算元,可能不會顯示統計資訊。

        • 關於 MONITOR Hint,請參見 MONITOR Hint;關於與並存執行相關的 Hint,請參見 與並存執行相關的 Hint

    • 對於其他 SQL,SQL 執行詳情 頁面僅顯示運算元執行計畫。

  • 關閉會話。

    • 關閉一條對話:單擊目標會話操作列下的 關閉會話

    • 關閉多條對話:勾選目標會話前的複選框,然後單擊下方的 批量關閉會話

    • 關閉所有對話:

      • 單擊 代理會話 ID 左側的複選框,然後單擊下方的 批量關閉會話

      • 勾選任意一條會話,單擊下方的 全選所有,然後單擊 批量關閉會話

    說明

    關閉會話後,您可在 最佳化管理 > 最佳化記錄 中查看任務狀態。

  • 設定限流。

    1. 單個設定限流:

      1. 單擊目標會話操作列下的 設定限流

      2. 在彈出的對話方塊中,輸入 最大並發數,並單擊 確定

      3. 在彈出的對話方塊中,單擊 確定

    2. 大量設定限流:

      1. 勾選目標會話前的複選框,然後單擊下方的 大量設定限流

      2. 在彈出的對話方塊中,輸入 最大並發數,並單擊 確定

      3. 在彈出的對話方塊中,單擊 確定

    說明
    • 設定限流後,您可在 最佳化管理 > 最佳化記錄 查看任務狀態。

    • 如果所勾選會話對應的 資料庫名 中包含 No_database(即在串連資料庫時未指定資料庫名字),則無法大量設定限流。

查看會話統計詳情

會話統計 頁簽:

  • 您可以從使用者、訪問來源和資料庫維度分別查看或匯出當前叢集的會話活躍數和會話總數。

  • 單擊右上方 10 秒 SQL 分析,您可以從 SQL 類型使用者來源資料庫 維度查看 10 秒內租戶內 SQL 執行情況。

    image.png

查看死結檢測

死結檢測 頁簽:

  • 首次使用死結檢測功能時,單擊 開啟死結檢測。啟用後,系統將即時檢測並處理死結事件,這將消耗 2% 左右的效能。請根據您的叢集狀況謹慎選擇是否啟用此功能。

    說明

    死結檢測功能僅支援 OceanBase 4.x 版本。

    1

  • 開啟死結檢測後,系統將診斷該叢集租戶中是否存在死結,並在 死結詳情 地區提供診斷結果。該結果會保留 7 天。3

  • 單擊右上方 關閉死結檢測 或重新整理表徵圖,關閉死結檢測功能或重新整理死結檢測詳情。

查看行鎖分析

行鎖分析 頁簽:

  • 您可以查看鎖涉及的行資訊和會話數量。

  • 選擇目標租戶後,系統會展示該租戶的行鎖詳細資料。

  • 若需釋放持有鎖的會話,您可以關閉該會話。在關閉前,請確認該會話以及其上正在啟動並執行業務 SQL 可以安全終止。

說明
  • 行鎖分析是一項即時查詢功能,僅展示等待鎖時間超過 20 ms 的行鎖及其相關會話資訊。此功能僅支援 OceanBase 4.2 及以上版本。

  • 行鎖資訊可能存在延遲。若未顯示持有鎖的會話 ID,說明該事務可能已經完成。

image