Oracle 10.2 RAC Load Balancing improvements ?

  • From: <Christopher.Taylor2@xxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 1 Nov 2012 07:36:54 -0500

It appears (to me) that the mechanism for load balancing as of 10.2 (changed 
from 10.1) is still inefficient when dealing with even small "call storms" - 
those connections that are instantiated at exactly the same time from a client.
We have application servers that kick off large batch jobs at night and most of 
these initial sessions all end up on node1 of our 3 node RAC.  Based on my 
reading (and admittedly limited) understanding of Oracle's software load 
balancing, it appears that the balance between the listener lbscore and the 
PMON updates is still inefficient when connections open simultaneously.

I was wondering how any of you might have accomplished better load balancing in 
10.2 (either through Oracle tweaking or hardware load balancing) ?

Our .ora files


TNSNAMES.ORA (on client)
-------------------------

LISTENERS_DBNAME1   (ADDRESS_LIST     (ADDRESS = (PROTOCOL = TCP)(HOST = 
xx.xx.xx.01)(PORT = 1599))  ---node1 vip
    (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.02)(PORT = 1599))  ---node2 vip
    (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.03)(PORT = 1599))  ---node3 vip
  )

DBNAME1   (DESCRIPTION     (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.01)(PORT 
= 1599)) ---node1 vip
    (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.02)(PORT = 1599)) ---node2 vip
    (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.03)(PORT = 1599)) ---node3 vip
    (LOAD_BALANCE = ON)
    (CONNECT_DATA       (SERVER = DEDICATED)
      (SERVICE_NAME = DBNAME1)
       (FAILOVER_MODE          (TYPE = SELECT)
         (METHOD = BASIC)
         (RETRIES = 180)
         (DELAY = 5)
       )
    )
  )

DBNAME1_NODE1  (DESCRIPTION     (ADDRESS = (PROTOCOL = TCP)(HOST = 
xx.xx.xx.01)(PORT = 1599))
    (CONNECT_DATA       (SERVER = DEDICATED)
      (SERVICE_NAME = DBNAME1)
      (INSTANCE_NAME = DBNAME1_NODE1)
    )
  )

DBNAME1_NODE2   (DESCRIPTION     (ADDRESS = (PROTOCOL = TCP)(HOST = 
xx.xx.xx.02)(PORT = 1599))
    (CONNECT_DATA       (SERVER = DEDICATED)
      (SERVICE_NAME = DBNAME1)
      (INSTANCE_NAME = DBNAME1_NODE2)
    )
  )

DBNAME1_NODE3   (DESCRIPTION     (ADDRESS = (PROTOCOL = TCP)(HOST = 
xx.xx.xx.03)(PORT = 1599))
    (CONNECT_DATA       (SERVER = DEDICATED)
      (SERVICE_NAME = DBNAME1)
      (INSTANCE_NAME = DBNAME1_NODE3)
    )
  )



LISTENER.ORA (node1)
--------------------
DBNAME1_HOST01   (DESCRIPTION_LIST     (DESCRIPTION       (ADDRESS = (PROTOCOL 
= TCP)(HOST = xx.xx.xx.01)(PORT = 1599)(IP = FIRST)) --- VIP
      (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.11)(PORT = 1599)(IP = FIRST)) 
--- public ip
    )
  )

LISTENER.ORA (node2)
---------------------
DBNAME1_HOST02   (DESCRIPTION_LIST     (DESCRIPTION       (ADDRESS = (PROTOCOL 
= TCP)(HOST = xx.xx.xx.02)(PORT = 1599)(IP = FIRST)) --- VIP
      (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.12)(PORT = 1599)(IP = FIRST)) 
--- public ip
    )
  )

LISTENER.ORA (node3)
--------------------
DBNAME1_HOST03   (DESCRIPTION_LIST     (DESCRIPTION       (ADDRESS = (PROTOCOL 
= TCP)(HOST = xx.xx.xx.03)(PORT = 1599)(IP = FIRST)) --- VIP
      (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.13)(PORT = 1599)(IP = FIRST)) 
--- public ip
    )
  )


Chris Taylor
Oracle DBA
Parallon IT&S


--
//www.freelists.org/webpage/oracle-l


Other related posts:

  • » Oracle 10.2 RAC Load Balancing improvements ? - Christopher.Taylor2