首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 客戶端 PL/SQL Developer 連線失敗排查:tnsnames.ora 同步關鍵

     編輯:Oracle 資料庫相關知識

PL/SQL Developer 突然無法連線,報 ORA-12545: 目標主機不存在 或 ORA-12154。核心原因:**客戶端 tnsnames.ora 中的 HOST/IP 與伺服器實際不符**。

快速定位

  1. 打開客戶端 tnsnames.ora (通常在 %ORACLE_HOME%\network\admin\)。
  2. 找到對應 TNS 別名的 HOST = ... 行。
  3. 與伺服器實際主機名/IP 對比 (伺服器端 hostname 或 ipconfig/ifconfig)。

常見變更場景

  • 伺服器重裝 OS / 更換主機名。
  • DHCP 導致 IP 變更。
  • DNS 解析異動。
  • 遷移至新伺服器未同步客戶端配置。

三種修復方式 (由易到難)

方式操作優缺點
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 重新連線測試

預防機制

  • 伺服器採用**固定 IP + 固定主機名**,並在 DNS/hosts 註冊。
  • 建立「客戶端配置同步腳本」納入變更管理流程。
  • 關鍵應用改用 **SCAN VIP (RAC)** 或 **Connect Timeout + Retry** 參數提高容錯。

遇到連線失敗,**先看 tnsnames.ora HOST**,80% 問題一分鐘內解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved