分散式資料庫與雙階段提交錯誤 (ORA-02000 ~ ORA-02099)
此區間主要涵蓋 Database Link、分散式交易、雙階段提交 (2PC) 及異地備份相關錯誤。
| 錯誤碼 | 訊息摘要 | 常見成因 |
| ORA-02019 | 找不到遠端資料庫連線描述 | tnsnames.ora 缺少對應服務名 |
| ORA-02020 | 過多資料庫連結正在使用 | 超過 OPEN_LINKS 參數限制 |
| ORA-02049 | 逾時:分散式交易等待鎖定 | 跨節點鎖競爭,檢查 DISTRIBUTED_LOCK_TIMEOUT |
| ORA-02050 | 交易已回滾,部分遠端 DB 可能有問題 | 2PC 準備階段失敗,需人工介入 |
| ORA-02063 | 前導錯誤訊息 (見後續錯誤堆疊) | 遠端節點回傳的原始錯誤 |
Precompiler (PCC) 運行時錯誤 (ORA-02100 ~ ORA-02112)
Pro*C/C++、Pro*COBOL 等預編譯器生成程式在執行期遇到的快取不一致、游標異常、堆疊錯誤等。
儲存空間與 Schema 物件定義錯誤 (ORA-02140 ~ ORA-02299)
- 表空間:ORA-02140 (名稱無效)、ORA-02141 (OFFLINE 選項錯誤)
- 儲存參數:ORA-02143 (STORAGE 選項無效)、ORA-02218~02223 (INITIAL/NEXT/MINEXTENTS/MAXEXTENTS/PCTINCREASE/OPTIMAL 值錯誤)
- 約束條件:ORA-02290 (違反 CHECK)、ORA-02291 (父鍵不存在)、ORA-02292 (子記錄存在無法刪除父鍵)、ORA-02297 (存在相依關係無法停用)
- 序列:ORA-02277 (名稱無效)、ORA-02283 (無法變更起始值)
資源管理與設定檔錯誤 (ORA-02376 ~ ORA-02399)
涵蓋 CREATE PROFILE、資源限制 (CPU/IO/IDLE_TIME/CONNECT_TIME) 超限導致的登出錯誤。
SQL*Plus / 執行計畫相關 (ORA-02400 ~ ORA-02404)
- ORA-02401:無法 EXPLAIN 他人 View
- ORA-02402/02403/02404:PLAN_TABLE 缺失或格式錯誤
非同步 I/O 與作業系統層錯誤 (ORA-02700 ~ ORA-02899)
主要出現在舊版 Unix/Linux 平台上,涉及共享記憶體、訊號、管道、fork、異步 I/O 驅動程式 (osn/orapop) 等底層錯誤。現代版本較少見,若遇到通常需檢查核心參數、共享記憶體設定或升級 OS/Oracle 版本。
快速定位建議
- 先看 ORA-02063 後的原始錯誤堆疊,那才是真因。
- 分散式交易錯誤優先檢查
tnsnames.ora、listener.ora、Database Link 定義、GLOBAL_NAMES 參數。
- 約束條件錯誤配合
DBA_CONSTRAINTS、DBA_CONS_COLUMNS 定位具體欄位與父/子表。
- PCC/非同步 I/O 錯誤若持續出現,建議開 SR 請 Oracle Support 協助分析 trace/trc 檔。