Oracle 常見坑點避雷指南:冷備份跨平台、分階段啟動、V$SQLAREA 效能分析
坑 1:冷備份跨平台 (Win32 → Win64) 需執行腳本
- 直接複製檔案無法跨平台;需執行 Oracle 提供的轉換腳本 (如
utlirp.sql、catproc.sql 重編譯 PL/SQL),或使用 RMAN CONVERT DATABASE (10g+)。
- 建議:同平台冷備份保持目錄結構、檔案名、實例名一致,避免控制檔/資料檔/日誌檔數量不符導致額外
ALTER DATABASE 操作。
坑 2:分階段啟動資料庫 (排錯利器)
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
- 優勢:每階段可檢查 Alert Log、Trace 檔,精準定位啟動失敗點 (控制檔損壞、日誌不一致、資料檔 Offline 等)。
- 日常維護:非生產環境可關閉服務省資源,需時再啟動。
坑 3:V$SQLAREA 發現效能差的 SQL (好坑)
SELECT sql_text, executions, disk_reads, buffer_gets,
ROUND(buffer_gets/DECODE(executions,0,1,executions)) AS gets_per_exec
FROM v$sqlarea
WHERE buffer_gets > 10000
ORDER BY buffer_gets DESC;
- 高
buffer_gets/execution 代表邏輯讀過大,優先調優對象。
- 結合
V$SQL_PLAN 確認執行計畫是否走索引。
避雷總結
- 冷備份跨平台務必用 RMAN CONVERT 或完整重建。
- 排錯時善用分階段啟動縮小問題域。
- 定期掃描
V$SQLAREA 發現高消耗 SQL,建立調優清單。