簡體   English   中英

如何在多個服務器的Oracle JDBC長TNSNAME樣式URL中使用其他服務名稱

[英]How to use different Service name in the Oracle JDBC long TNSNAME style URL with multiple servers

當我嘗試使用JDBC長TNSNAME樣式URL連接數據庫服務器時遇到問題。 我們有兩個Oracle集群服務器。 這是我的TNSNAME樣式網址。

jdbc:oracle:thin:@(DESCRIPTION=
  (LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1250))
    (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1250))
  )
  (CONNECT_DATA=
    (SERVICE_NAME= DEV1)
  )
)

我的問題是,當我們的DBA創建數據庫時,他為host1和host2使用了不同的服務名稱。 host1是DEV1,host2是DEV2_B,如果切換主機序列,它似乎無法工作。 喜歡

jdbc:oracle:thin:@(DESCRIPTION=
  (LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1250)) /*host2 now come first, it would be cause connect failure.*/
    (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1250))
  )
  (CONNECT_DATA=
    (SERVICE_NAME= DEV1)
  )
)

我認為在這種情況下,故障轉移和負載平衡是沒有用的。 我的問題是,如何在我的URL中分別設置service_name? (這兩個數據庫也使用不同的SID。DEVA和DEVB)請幫助,謝謝。

(DESCRIPTION_LIST=
            (FAILOVER=true)
            (LOAD_BALANCE=false)
            (DESCRIPTION=
            (ADDRESS= (PROTOCOL=TCP) (HOST=TEST_DB) (PORT=1521))
            (CONNECT_DATA=
            (SERVICE_NAME=saibal)))             
            (DESCRIPTION=
            (ADDRESS= (PROTOCOL=TCP) (HOST=MY_DB) (PORT=1521))
            (CONNECT_DATA=
            (SERVICE_NAME= test_saibal))
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM