首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle ORA-12154 錯誤完整排查指南:TNS 無法解析連接標識符

     編輯:Oracle 教學

錯誤現象

ORA-12154: TNS:無法解析指定的連接標識符 是使用 PL/SQL Developer 等客戶端連接 Oracle 時最常見的錯誤,原因多樣,需系統性排查。

五步排查法

1. 確認伺服器端服務狀態

執行 services.msc,檢查兩項服務均為「運行中」:

  • OracleService(資料庫實例)
  • OracleTNSListener(監聽器)

2. 以 SQL*Plus 驗證伺服器端連線

若 SQL*Plus 連線成功,說明資料庫安裝無誤,問題在客戶端配置。

3. 檢查 tnsnames.ora 配置

路徑:$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora

關鍵檢查點:

  • 網路服務名稱前無空格(如 DRP = 而非 DRP =)
  • 服務條目間可有空行,但不可有前導空格
  • 確認 HOST(IP/主機名)、PORT(預設 1521)、SERVICE_NAME 正確

4. 驗證環境變數 PATH

系統變數 Path 應包含:$ORACLE_HOME\bin(如 D:\app\NiuNiu\product\11.2.0\dbhome_1\bin)

5. PL/SQL Developer 連線配置(針對 10g/11g 版本差異)

工具列 Tools → Preferences → Connection,Oracle Home 選擇對應的 Client Home(如 OraClient10g_home1),儲存後重啟工具。

版本不匹配是常見原因:32 位 PL/SQL Developer 需搭配 32 位 Oracle Client,64 位資料庫需安裝 32 位 Client 供 32 位工具使用。

進階排查清單

  • tnsping <服務名> 測試網路連通與解析
  • 檢查 sqlnet.ora 中 NAMES.DIRECTORY_PATH 包含 TNSNAMES
  • 防火牆阻擋 1521 埠
  • 多個 Oracle Home 環境變數衝突
  • IPv6 環境下 HOST 解析問題
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved