NAMES.DIRECTORY_PATH配置不當導致無法連線oracle

myownstars發表於2011-09-23

剛剛幫開發安裝了oracle客戶端,然後配置tnsnames.ora試圖用pl/sql developer登入資料庫,但總是報告應用程式無法監聽;
使用tnsping檢查一下,
C:\Documents and Settings\zhoushuangxian>tnsping 192.122.*.*

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 23-9月 -
2011 16:22:19

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的引數檔案:

已使用 HOSTNAME 介面卡來解析別名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=192.122.*.*))(ADDRES
S=(PROTOCOL=TCP)(HOST=192.122.*.*)(PORT=1521)))
TNS-12541: TNS: 無監聽程式

而tnsnames.ora的配置為
justin =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.122.*.*)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =justin)
    )
  )
即明明指定的port為1522,但是tnsping卻顯示port=1521;
經過一番仔細辨別排查,發現使用tnsping顯示出一行資訊
已使用 HOSTNAME 介面卡來解析別名
看來並沒有使用tnsnames.ora用做解析檔案,修改該oracle客戶端的sqlnet.ora,
NAMES.DIRECTORY_PATH= (TNSNAMES)
強制其只使用tnsnames.ora作為解析檔案,修改後tnsping成功
C:\Documents and Settings\zhoushuangxian>tnsping 192.122.*.*

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 23-9月 -
2011 16:33:15

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的引數檔案:
D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora


已使用 TNSNAMES 介面卡來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.122.*.*)(PORT = 1522))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_
NAME =justin)))
OK (60 毫秒)

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

相關文章