本文介紹了如何查看會話診斷資訊,包括會話的統計資訊、工作階段狀態等。
查看會話統計資訊
登入 OceanBase 管理主控台。
在左側導覽列,選擇 自治服務 > 診斷中心。
在 執行個體詳情 地區,單擊目標執行個體名稱。
系統自動跳轉到診斷中心。
在左側導覽列,單擊 會話診斷。
在 統計資訊 地區,您可以查看資料庫當前會話統計資訊和租戶會話詳情,包括活躍會話和空閑會話。您也可以選擇租戶後,通過 租戶會話、會話統計、死結檢測、行鎖分析 四個頁簽查看對應詳情。
查看租戶會話
在 租戶會話 頁簽:
勾選 僅查看活躍會話,在會話列表中查看活躍會話資訊。
勾選 按 SQL ID 彙總會話,將相同 SQL ID 的會話進行匯總展示。
說明按 SQL ID 彙總可以協助您分析不同 SQL ID 的流量和消耗對比,確認系統資源消耗方。
通過 使用者 和 資料庫名 對會話進行篩選。
通過 會話 ID、SQL 、來源 和 目標端 對會話進行搜尋。
通過 執行時間 對會話進行排序。
單擊 SQL 文本,跳轉至 SQL 執行詳情 頁面。
對於滿足如下條件之一的 SQL,SQL 執行詳情 頁面會顯示運算元執行計畫及運算元執行詳情,如下圖所示:
使用了 MONITOR Hint 的 SQL
使用了與並存執行相關 Hint 的 SQL
慢 SQL(執行時間超過 5s)
說明OBServer 必須為 V4.0 及以上版本。
對於快速執行的運算元,可能不會顯示統計資訊。
關於 MONITOR Hint,請參見 MONITOR Hint;關於與並存執行相關的 Hint,請參見 與並存執行相關的 Hint。
對於其他 SQL,SQL 執行詳情 頁面僅顯示運算元執行計畫。
關閉會話。
關閉一條對話:單擊該會話後操作列下的 關閉會話。
關閉多條對話:勾選目標會話前的複選框,然後單擊右側的 批量關閉會話。
關閉所有對話:
單擊 會話 ID 左側的複選框,然後單擊右側的 批量關閉會話。
任意勾選一條會話,單擊上方的 全選,然後單擊右側的 批量關閉會話。
在彈出的確認框中,單擊 確定。
查看會話統計
在 會話統計 頁簽:
您可以從使用者、訪問來源和資料庫維度分別查看或匯出當前叢集的會話活躍數和會話總數。
單擊右上方 10 秒 SQL 分析,您可以從 SQL 類型、使用者、來源、資料庫 維度查看 10 秒內租戶內 SQL 執行情況。
查看死結檢測
在 死結檢測 頁簽:
首次使用死結檢測功能時,單擊 開啟死結檢測。啟用後,系統將即時檢測並處理死結事件,這將消耗 2% 左右的效能。請根據您的叢集狀況謹慎選擇是否啟用此功能。
說明死結檢測功能僅支援 OceanBase 4.x 版本。
開啟死結檢測後,系統將診斷該叢集租戶中是否存在死結,並在 死結詳情 地區提供診斷結果。該結果會保留 7 天。
單擊右上方 關閉死結檢測 或 重新整理 ,關閉死結檢測功能或重新整理死結檢測詳情。
查看行鎖分析
在 行鎖分析 頁簽:
您可以查看鎖涉及的行資訊和會話數量。
選擇目標租戶後,系統會展示該租戶的行鎖詳細資料。
若需釋放持有鎖的會話,您可以關閉該會話。在關閉前,請確認該會話以及其上正在啟動並執行業務 SQL 可以安全終止。
行鎖分析是一項即時查詢功能,僅展示等待鎖時間超過 20 ms 的行鎖及其相關會話資訊。此功能僅支援 OceanBase 4.2 及以上版本。
行鎖資訊可能存在延遲。若未顯示持有鎖的會話 ID,說明該事務可能已經完成。