![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
Following is excerpt from the tnsnames.ora file: SUMSKYDB = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE=ON) (FAILOVER=ON) (ADDRESS=(PROTOCOL=TCP)(HOST=host1-oracle-vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2-oracle-vip)(PORT=1521)) ) (CONNECT_DATA = (SERVICE_NAME = SUMSKYDB.SUMMERSKYUS.COM) (FAILOVER_MODE = (TYPE=SELECT)(METHOD=BASIC) ) ) ) It is understood that, when one Oracle instance fails, it will transparently connect to the other instance. I would like to know about, to what instance the preference will be given to when both the instances are up and running. Is this according to the order that is given in tnsnames.ora file? In the above example, it will always be to 'host1-oracle-vip' first and then to 'host2-oracle-vip' in case if 'host1-oracle-vip' is not running. Or, some other factor decides it? Could anybody clarify? |
#4
| |||
| |||
|
|
Hi, When you have TAF configured without load balance at the client side, it will always go the first connection. If it is not able to connect the first named connection, it will go to the subsequent connection. If you specify the load balance it just uses the round robin method and choose the connections alternatively. Remember TAF is the feature from the network layer, not servics layer. |
#5
| |||
| |||
|
#6
| |||
| |||
|
|
Daniel: I think there was mis-understanding as I have not discussed the load balancing to the depth as the original poster just wanted to know from the tnsnames.ora level. That is why I had clarified him saying TAF is a feature from the network layer, not from the services layer and TNS load balancing is purely round robin. It does not care about CPU load or number of connections. To answer your question, you are commenting about listener load balancing where we register the CPU load to the other nodes (using remote listener) and do the load balancing based on the least loaded note. And also there is a way to disable that using an underscore parametetr (_prefer_least_loaded_node or something like that in listener.ora) as the listener load balancing does not perform effectively for benchmarks or logon storms. If you have the listener load balancing setup, the listeners cross register with other participating instances and update the cpu load in every 5 minutes. If you have all connections coming up with in 5 minutes there are chances that all connections will go to the first identified node. I think that is what you have experiened and that is not based on numbers (10+ connections as you mention), but based on the CPU load during that time. There are couple of other load balancing options also available based on other network level parameters. But to answer your question, listener load balancing is based on machine load and client load balancing is based on round robin. Hope this clarifies this Best Regards, K Gopalakrishnan Co-Author: Oracle Wait Interface, Oracle Press 2004 http://www.amazon.com/exec/obidos/tg.../-/007222729X/ |
![]() |
| Thread Tools | |
| Display Modes | |
| |