連線資料庫經常出現ORA 12545錯誤

2021-05-26 04:49:56 字數 2176 閱讀 7237

連線到rac資料庫的時候經常會出現ora-12545錯誤,在metalink上查詢了一下,是oracle的乙個小bug。

在遠端客戶端連線rac資料庫時,通過統一的服務名連線時經常會出現ora-12545錯誤。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******

error:

ora-12545: 因目標主機或物件不存在, 連線失敗

警告: 您不再連線到 oracle。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******

error:

ora-12545: 因目標主機或物件不存在, 連線失敗

警告: 您不再連線到 oracle。

本地資料庫tnsnames的配置:

testrac =

(description =

(address = (protocol = tcp)(host = 172.25.198.224)(port = 1521))

(address = (protocol = tcp)(host = 172.25.198.225)(port = 1521))

(load_balance = yes)

(connect_data =

(server = dedicated)

(service_name = testrac)

(failover_mode =

(type = select)

(method = basic)

(retries = 180)

(delay = 5)))

)oracle在文件note:364855.1:rac connection redirected to wrong host/ip ora-12545中進行了相信的描述。

並給出了解決方法:修改資料庫中的初始化引數local_listener:

sql> conn sys@testrac1 as sysdba輸入口令: ****已連線。

sql> alter system

2 set local_listener = '(address = (protocol = tcp)(host = 172.25.198.224)(port = 1521))'

3 sid = 'testrac1';

系統已更改。

sql> conn sys@testrac2 as sysdba輸入口令: ****已連線。

sql> alter system

2 set local_listener = '(address = (protocol = tcp)(host = 172.25.198.225)(port = 1521))'

3 sid = 'testrac2';

系統已更改。

設定之後,再次嘗試連線資料庫:

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

sql> conn ndmain@testrac輸入口令: ******已連線。

修改之後,沒有再次出現同樣的錯誤。

不過oracle沒有認為這個是bug,只是認為是problem

連線資料庫

2 documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentsdi...

連線資料庫

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

連線資料庫

public void connection 以上是連線資料庫的乙個方法,以及從資料庫中取到資料後存放在table中.executenonquery 執行sql後,返回乙個整形變數,如果sql是對資料庫記錄進行操作,那麼返回影響的記錄條數。executescalar 執行sql 如果sql語句是se...