在 Oracle 資料庫開發與調優過程中,獲取特定 SQL 的執行計劃是診斷效能問題的關鍵步驟。本文詳細記錄基礎收集方法,並針對常見的 ORA-00904 錯誤提供解決方案,供開發人員快速查閱參考。
最直接的方式是透過 SQL*Plus 內建的 AUTOTRACE 功能:
SET AUTOTRACE ON;
說明:此指令會開啟自動追蹤,並顯示 SQL 執行結果與執行計劃。


若執行上述步驟時出現 ORA-00904: invalid identifier 錯誤,通常是因為 PLAN_TABLE 缺失或結構不符。解決步驟如下:
PLAN_TABLE(若存在):
DROP TABLE PLAN_TABLE;
PLAN_TABLE:
@$ORACLE_HOME/rdbms/admin/utlxplan.sql
SET AUTOTRACE ON 並跑 SQL,即可正常顯示執行計劃。

PLAN_TABLE 是 Oracle 用於儲存執行計劃的暫存表,結構需與資料庫版本相容。utlxplan.sql 或授予 CREATE TABLE 權限。DBMS_XPLAN.DISPLAY、SQL_TRACE 或 SQL Monitoring 使用。