Oracle 功能強大但錯誤代碼嚇人。本文整理初學者最高頻的 6 大錯誤、成因與最快解法,附自製啟動/關閉批次檔。
| 錯誤代碼 | 訊息 | 成因 | 解決步驟 |
|---|---|---|---|
| ORA-12541 | TNS: 無監聽程序 | Listener 未啟動或損壞 | 1) net start OracleOraHome81TNSListener2) 若損壞:Net8 Configuration Assistant → 監聽程序配置 → 刪除舊 → 新增 (一路預設) |
| ORA-12500 ORA-12560 | TNS: 專用伺服器進程啟動失敗 / 協定配接器錯誤 | 資料庫服務未啟動 | net start ORACLESERVICE<SID> (如 ORACLESERVICEORADB) |
| 服務啟動失敗 | Windows 服務無法啟動 | 登錄檔損壞 | 1) ORADIM -DELETE -SID oradb2) ORADIM -NEW -SID oradb3) 若報錯 → 重開機 |
| ORA-12154 | TNS: 無法解析服務名 | tnsnames.ora 未正確配置 | Net8 Configuration Assistant → 本地網路服務名配置 → 重新設定 TNS |
| ORA-1034 | ORACLE not available | 服務啟動但資料庫未開啟 | svrmgrl → CONNECT INTERNAL → STARTUP |
| ORA-12560 (頑固型) | 協定配接器錯誤 | 未知 (進程殘留、共享記憶體異常) | 1) 任務管理員殺掉 ORACLE.EXE、ORADIM.EXE2) 執行自製 ora_startup.bat |
@echo off
net start OracleOraHome81TNSListener
net start ORACLESERVICEORADB
REM svrmgrl (如需手動 STARTUP 時取消註解)
@echo off
net stop OracleOraHome81TNSListener
net stop ORACLESERVICEORADB
服務名稱請至「管理工具 → 服務」確認以 Oracle 開頭的項目。
背誦此 6 大錯誤解法,配合批次檔自動化啟關,可解決 90% 初學者安裝與啟動問題。進階問題請善用 oerr ora <錯誤號> 查詢官方說明。