PL/SQL Developer 突然無法連線,報 ORA-12545: 目標主機不存在 或 ORA-12154。核心原因:**客戶端 tnsnames.ora 中的 HOST/IP 與伺服器實際不符**。
tnsnames.ora (通常在 %ORACLE_HOME%\network\admin\)。HOST = ... 行。hostname 或 ipconfig/ifconfig)。| 方式 | 操作 | 優缺點 |
|---|---|---|
| 1. 手動改 IP/主機名 | 直接編輯 tnsnames.ora 修正 HOST 值 |
最快,但下次變更又要改 |
| 2. 從伺服器複製 tnsnames.ora | scp oracle@dbserver:$ORACLE_HOME/network/admin/tnsnames.ora %ORACLE_HOME%\network\admin\ |
一次同步所有別名,推薦 |
| 3. 使用 LDAP/OID 集中管理 | 配置 ldap.ora、sqlnet.ora (NAMES.DIRECTORY_PATH=LDAP) |
企業級最佳實踐,一次配置處處生效 |
tnsping your_tns_alias
# OK 即表示解析正確
# PL/SQL Developer 重新連線測試
遇到連線失敗,**先看 tnsnames.ora HOST**,80% 問題一分鐘內解決。