Client 無法連線 Server 多半源於監聽器與本地服務名配置不當。本文以圖文並茂方式,示範使用 Oracle Net Manager 完成監聽器與 TNS 設定,並提供常見連線失敗排查思路。
$ netmgr (需 X Window)。LISTENER;
ORCL);orcl) 或 SID;File → Save Network Configuration,產生 tnsnames.ora、listener.ora。# Server 端
lsnrctl stop
lsnrctl start
# 或 Windows 服務管理員重啟 OracleTNSListener
tnsping ORCL
sqlplus user/pass@ORCL
| 現象 | 可能原因 | 檢查動作 |
|---|---|---|
| ORA-12541 | Listener 未啟動 | lsnrctl status、Windows 服務狀態 |
| ORA-12514 | Listener 不知服務 | listener.ora SID_LIST、動態註冊 LOCAL_LISTENER 參數 |
| ORA-12154 | Client 找不到 TNS | tnsnames.ora 路徑、服務名拼寫、TNS_ADMIN 環境變數 |
| ORA-12505 | SID 不匹配 | Client TNS SID 與 Server listener.ora / 動態註冊一致 |
| 防火牆阻擋 | 埠 1521 未開放 | Server/Client 防火牆規則、telnet host 1521 |
善用 Net Manager 圖形化配置,遵循「監聽器 → 服務名 → 啟動監聽 → 測試連線」四步驟,並對照排查清單,可快速解決 95% 連線問題。複雜環境 (RAC、Data Guard、SSL) 需進一步調整 listener.ora、sqlnet.ora 與錢包設定。