客戶端TNSPING通 連線出現ORA-12514錯誤

andyann發表於2011-10-28
問題描述:
(1)關於TNSPING的通資料庫,返回正常值。
(2)使用sqlplus或者plsql連線出現如下報錯。
   ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務

為什麼會出現這個問題?

首先明白一下TNSPING的功能:
Oracle Net工具(命令)tnsping,是一個OSI會話層的工具,它用來:
(1)驗證名字解析(name resolution,當然是oracle自己的網路服務名)
(2)遠端的listener是否啟動(配埠號,一般預設是1521)。

也就是TNSPING解析的是網路服務名不是SERVICE_NAME,即不匹配SERVICE_NAME的正確與否。

更改配置檔案tnsnames.ora的SERVICE_NAME即可。

ORADB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.12)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oradb)
    )
  )

注意事宜:
tnsnames.ora檔案配置要求比較嚴格,空格、小數點等都有可能造成無法解析,建議貼上配置。
確認伺服器的listener的埠為1521,避免伺服器開啟的埠與配置不一樣。


報錯演示:

C:\Documents and Settings\Administrator>sqlplus system@oradb
SQL*Plus: Release 11.1.0.6.0 - Production on 星期五 10月 28 17:29:55 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
輸入口令:
ERROR:
ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24070945/viewspace-709862/,如需轉載,請註明出處,否則將追究法律責任。

相關文章