動態性能視圖(V$開頭)實時反映系統運行狀態,隨實例運行持續更新。DBA和開發人員通過它們監控SQL執行性能、診斷瓶頸、優化查詢。需SELECT_CATALOG_ROLE權限訪問。
| 視圖 | 特點 | 適用場景 |
|---|---|---|
| V$SQL | 子游標級統計,含完整SQL文本(CLOB)、解析/執行統計、優化器信息、等待事件 | 深度SQL調優、分析執行計劃變化、查找特定用戶/Schema的語句 |
| V$SQLAREA | SQL語句級聚合,同一文本只有一行,統計信息彙總 | 快速定位高消耗SQL、整體負載分析、共享池使用情況 |
| V$SQLSTATS (10gR2+) | V$SQL子集,按SQL_ID+PLAN_HASH_VALUE唯一,數據持久性更強 | 歷史SQL性能分析、共享池老化後的語句追蹤、跨重啟統計 |
| V$SQLTEXT / V$SQLTEXT_WITH_NEWLINES | 按行存儲SQL文本(PIECE列排序),保留/替換換行符 | 長SQL文本閱讀、按命令類型過濾(SELECT/INSERT等)、格式化輸出 |
SELECT sql_id, sql_text, cpu_time/1000000 cpu_sec, executions
FROM v$sqlarea
WHERE cpu_time > 1000000
ORDER BY cpu_time DESC;
SELECT s.sid, s.username, sq.sql_text, sq.elapsed_time/1000000 elapsed_sec
FROM v$session s
JOIN v$sql sq ON s.sql_id = sq.sql_id
WHERE s.status = 'ACTIVE' AND s.username IS NOT NULL;
SELECT sql_id, plan_hash_value, optimizer_cost, executions
FROM v$sql
WHERE sql_id = '目標SQL_ID'
ORDER BY last_active_time DESC;
V$SQL_PLAN查看具體執行計劃操作DBMS_XPLAN.DISPLAY_CURSOR格式化輸出計劃詳情V$SQLSTATS構建性能基線V$SQL_MONITOR(11g+)監控長時間運行SQLSELECT_CATALOG_ROLE給開發賬號