これまで議論してきたのはシステム監視であり、ユーザーは特定の監視情報に基づいて、システム(クラスタ、テナント、セッション)の健全状態を判断します。実際の運用保守において、もう一つ非常に重要な監視手法が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 | インデックス使用データ情報を表示するために使用されます。 |