我們最近更改了物理數據庫,新服務器,新位置,相同的數據庫模式和數據,自轉換完成後,無論何時我們嘗試直接連接到我們自己的桌面類型應用程序大約一半的時間我們得到這個錯誤:Hinky Oracle連接(TNSNAMES.ora幫助)
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach[0]
ORA-12545: Connect failed because target host or object does not exist
其餘的時間,它立即連接沒有任何問題。我們通過JDBC建立連接的應用程序似乎沒有任何問題,但是當我們做一些tnsnames.ora查找(或者至少是我的預感)時,我們會做這些事情。 TNSPING工作100%,但使用像SQLLDDR這樣的Oracle可執行文件至少有50%的時間不能運行。這是我們的TSNNAMES文件的匿名snppet和TNSPING輸出:
DB_CONNECTION =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1.2.3.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MY.URL.COM)
)
)
而且TNSPING:
C:\>TNSPING DB_CONNECTION
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
C:\oracle\ora92\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 1.2.3.4)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = MY.URL.COM)))
OK (200 msec)
我有DB,這是該SID什麼的JDBC連接依賴,但其添加到tnsnames.ora並不會提高建立連接的可能性。我不太瞭解Oracle如何使用tnsnames文件來智能地解決此問題,因此如果您有任何建議或看到明顯缺少的內容,請讓我知道。
編輯:新的DB可能是兩個負載平衡的數據庫,可能是問題的一部分。
您在博客中鏈接到您的文章(http://tardate.blogspot.com/2007/06/check-locallistener-if-you-run-rac.html)非常好。很高興終於明白爲什麼會發生這種情況,以及如何解決這個問題 – 2009-07-10 21:24:48