DBA 日常排查效能瓶頸、死鎖、高 CPU、緩存命中率低等問題,需快速從動態效能視圖 (V$/GV$) 獲取關鍵指標。本文整理 23 條實戰高頻 SQL,涵蓋 RAC 全域等待、鎖阻塞、緩存融合、共享池、PGA 排序、資源限制、Session CPU、熱點區塊等核心維度,可直接建立監控腳本或納入自動化巡檢。
global cache busy、buffer busy global cache、buffer busy global cr 事件的檔案/區塊/等待時間。GV$GES_ENQUEUE 結合 GV$SESSION_WAIT 找出阻塞 Session 與等待時間。DBWR fusion writes / physical writes 評估 RAC 節點間資料傳輸效率。GV$CLUSTER_INTERCONNECTS 確認私有網路介面與 IP。gc cr block receive time / gc cr blocks received 計算平均延遲 (ms)。GV$RESOURCE_LIMIT 檢查 processes、sessions、enqueues 等是否逼近上限。V$SGASTAT WHERE NAME LIKE 'g%' 觀察 Granule、KGL、KQR 等佔用。GV$PQ_SYSSTAT WHERE VALUE > 0 掌握 DFO、Slave 分配情況。V$ROLLNAME/ROLLSTAT/SESSION/SQLTEXT/TRANSACTION 關聯查詢正在執行的 DML 與 SQL 文本。V$TRANSACTION 檢視 XIDUSN, XIDSLOT, XIDSQN, UBABLK, UBAFIL, UBAREC。V$PROCESS/V$SESSION 依 SPID 反查 SID、Serial#、User、Program。V$SQL/V$SESSION 依 SQL_ADDRESS/HASH_VALUE 取得完整 SQL_TEXT。V$PARAMETER WHERE NAME='cpu_count'。SUM(PINS)/(SUM(PINS)+SUM(RELOADS))*100 FROM V$LIBRARYCACHE。(1-SUM(GETMISSES)/SUM(GETS))*100 FROM V$ROWCACHE。Memory Sorts / (Disk Sorts + Memory Sorts) * 100。(1 - physical reads / (db block gets + consistent gets)) * 100。RANK() OVER (ORDER BY BUFFER_GETS DESC) 取前 10 佔比。V$BH WHERE DIRTY='Y' GROUP BY OBJD ORDER BY COUNT(*) 找出頻繁修改物件。V$PROCESS WHERE BACKGROUND IS NULL。V$SQL WHERE SQL_ID IN (SELECT SQL_ID FROM GV$SESSION WHERE PADDR IN (SELECT ADDR FROM GV$PROCESS WHERE PROGRAM='ORACLE.EXE (SHAD)'))。V$SESSSTAT/V$SESSION/V$STATNAME WHERE NAME='CPU used by this session'。V$SESSION_WAIT/V$SESSION/V$PROCESS/V$SQLAREA 關聯輸出 SID、Event、Wait_Time、SQL_TEXT。GV$ 視圖,單實例用 V$ 即可。ASH (Active Session History) 與 AWR 做深度根因分析,上述 SQL 適合即時排查。收藏這 23 條 SQL,下次效能告警來臨時能在最短時間定位問題 Session、鎖、計劃與資源瓶頸。