これまで議論してきたのはシステムモニタリングであり、ユーザーは特定のモニタリング情報に基づいて、システム(クラスタ、テナント、セッション)の健全性を判断します。実際の運用保守において、もう一つ非常に重要なモニタリング手法がSQLモニタリングです。これは、特定のSQLの複数回の実行や、特定の実行で収集されたモニタリング情報に基づいて、システムのパフォーマンス問題を診断するものです。
SQL関連のモニタリング情報は、SQLの実行過程でのリソース消費を記録します。この情報は通常、一つのSQLの実行前後で、モニタリング項目と待機イベントの統計情報を収集し、その差分を計算することで得られます。さらに、SQLモニタリングにはSQLテキスト、SQLプラン、実行フィードバックなどの情報も含まれており、これらの情報は具体的なSQL問題の診断に非常に役立ちます。
以下の図は、考えられるSQL問題の診断パスを示しています:

OceanBaseデータベースは、SQL診断に使用できるさまざまなビューを提供しています。主なビューは以下のとおりです:
ビュー |
表示内容 |
|---|---|
| GV$OB_SQL_AUDIT | SQL統計情報。 |
| GV$OB_PLAN_CACHE_PLAN_STAT | 実行計画統計情報。 |
| GV$OB_PLAN_CACHE_PLAN_EXPLAIN | 実行計画の詳細情報。 |
| DBA_OB_OUTLINES | 通常アウトライン情報。 |
| DBA_OB_CONCURRENT_LIMIT_SQL | 制限アウトライン情報。 |
| GV$OB_PLAN_CACHE_STAT | Plan Cache統計情報。 |
| GV$SQL_PLAN_MONITOR | SQL演算子レベル統計情報。 |
| GV$SESSION_EVENT | セッションレベル待機統計。 |
| GV$OB_TRANSACTION_PARTICIPANTS | アクティブトランザクションの参加者情報。 |
| DBA_INDEX_USAGE | インデックス使用状況を表示するために使用されます。 |