Oracle 10.2 RAC Load Balancing improvements ?

From: <Christopher.Taylor2_at_parallon.net>
Date: Thu, 1 Nov 2012 07:36:54 -0500
Message-ID: <F05D8DF1FB25F44085DB74CB916678E88564BEF991_at_NADCWPMSGCMS10.hca.corpad.net>



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

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Nov 01 2012 - 13:36:54 CET

Original text of this message