當前位置:編程學習大全網 - 源碼下載 - 關於JDBC客戶端如何連接ORACLE數據庫RAC的負載均衡

關於JDBC客戶端如何連接ORACLE數據庫RAC的負載均衡

 這篇文章主要介紹如何使用jdbc配置連接數據庫(oracle的RAC配置的數據庫)達到負載均衡的情況 該例子是以 個NODE的情況說明 希望對大家有所幫助

 我的問題是我需要設置oracle x的thin客戶端連接到oracle的RAC環境上

 註:這樣連接可以通過RAC自動平衡負載

  原文如下:

 Hi Tom

 I couldn t find this information easily on the net ? So I m submitting it hereand hope you make it available for anyone else looking for this information

 My problem was I needed to configure the Oracle x thin driver (type IV) toconnect to an Oracle Real Application Cluster (RAC) environment

 For example assuming you have a database called RAC_DB with o nodes node and node

 You would need to configure your tnsnames ora with the following information inthe following way:

 RAC_DB =? (DESCRIPTION = (ADDRESS_LIST =? (ADDRESS = (PROTOCOL = TCP)(HOST = node )(PORT = ))? (ADDRESS = (PROTOCOL = TCP)(HOST = node )(PORT = ))? (LOAD_BALANCE = yes)? (FAILOVER = on) ) (CONNECT_DATA =? (SERVICE_NAME = RAC_DB)? (FAILOVER_MODE = (TYPE = SELECT)? (METHOD = BASIC)? (RETRIES = )? (DELAY = )? ) )? )

 Now if you start a SQL*PLUS session then you should see a connection on thenode instance ? If you start another SQL*PLUS session then Oracle shouldconnect you to the node instance (automatic load balancing) ? It s actuallypretty cool to see the first time

 To pass this same information to the Oracle s JDBC thin driver you essentiallyconcatenate a shorten version of the tnsnames information above and pass this tothe driver

 String userid = scott ;? String password = tiger ;

 String tnsnames_info = (DESCRIPTION=(ADDRESS_LIST= + (ADDRESS=(PROTOCOL=TCP)(HOST=node )(PORT= )) + (ADDRESS=(PROTOCOL=TCP)(HOST=node )(PORT= )) + (LOAD_BALANCE=yes)(FAILOVER=on)) + (CONNECT_DATA=(SERVICE_NAME=rac_db))) ;

 String url = jdbc:oracle:thin:@ + tnsnames_info;

 DriverManager registerDriver(new oracle jdbc OracleDriver());? Connection dbConnection = DriverManager getConnection(url userid password);

 That s it ? If your application creates multiple connection to the database then you should see these connections load balance across the o instances

 One last note Oracle only supports connection to a RAC configuration with the i drivers so you should try to get the latest Oracle JDBC thin driver

 HTH Peter

  and we said

 you made it really hard ? you just needed the service!? the load balancing andall could be/should be setup on the listener side!

 you have one listener both databases register with it as a service

 that would be another option

 Reviews

  I think we tried that and it didn t work ? September Reviewer:? Peter Tran? from Houston TX USA

 Hi Tom

 I m pretty sure we tried that but it didn t work with the thin driver ? Thatapproach will work if you use the OCI driver but not with the thin driver

 Please send me an example of what you mean or what files I should configure totest it out

 I m always opened to easier options

 Thanks Peter

 Followup:you need to set up mts and a single listener thats it

 pmon on each of the rac instances will tell the listener about the load and awayit goes ? you might not see the round robin right off (both are not yetloaded ) so it ll be an unbalanced load balance initially but as the systemramps it ll balance out

  Unknown territory ? September Reviewer:? Peter Tran? from Houston TX USA

 I m sorry but I really lost you with that last remendation ? Rather thanfrustrate you with my ignorance can you remend the Oracle documentation thatI should read to brush up on this information?

 I ll read this first and e back with questions if I m still lost

 For example I don t understand why you want me to setup the database as MTS Why can t I use dedicated server mode?

 Thanks for the quick response

  Peter

 Followup:in order for a single listener to service many instances on differentmachines the listener must be servicing shared server connections thelistener cannot fork/exec a dedicated server since the listener may well notbe running on the machine the instance is on ? it needs to know dispatcheraddresses to redirect the client request to

 

lishixinzhi/Article/program/Oracle/201311/17131

  • 上一篇:中國互聯網安全大會的舉辦地點
  • 下一篇:壹年級語文上冊《小白兔和小灰兔》教案設計
  • copyright 2024編程學習大全網