cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Bookmark
|
Subscribe
|
669
Views
0
Helpful
3
Replies

Oracle Loadbalance Issue

adil.nasser3
Level 1
Level 1

Hello,

 

I am trying to resolve an issue involving load balancing of Oracle using Cisco ACE Loadbalancers.  It is not too complicated of a set up, at least I don't think.  There are two rservers in a server farm.  I have the server farm nested within a sticky http-cookie section so that server persistence using cookies is used.  During the basic testing, the load balancing is working as expected.  For example, Server 1 is manual brought down and I can verify that new sessions are being served to Server 2 and vice versa. 

The issue comes in when, during testing, the user clicks on a module within the main Oracle web based application.  Doing this, causes a new session to be created.  When this new session is created, I believe it is sent to a new server in the pool instead of sending it to the same server.  It needs to be sent to the same server because that is where the user logged into the main application.  Because the new server where this new session is being sent to doesn't have any record of the original login it rejects this new session.  So what I was told by the Oracle support is is that I need to have the ACE LB load balance by instance instead of session.  I don't know if this is possible.  I have pasted a sample of the config which is in use.  Can someone advise if there is a command which I am not aware of which can accomplish the above stated goal.

 

probe tcp TCPHTTPTEST
  port 80
  interval 5
  faildetect 2
  passdetect interval 5
  passdetect count 2
  expect status 200
  request method get url /forms/lservlet
!
rserver host ORACLE_TEST_1
  ip address 10.10.110.101
  inservice
rserver host ORACLE_TEST_2
  ip address 10.10.110.103
  inservice
!
serverfarm host ORACLE_TEST_HTTP_FARM
  failaction reassign
  predictor leastconns
  probe TCPHTTPTOATST
  rserver NOVHQERP_TOATST_1 80
    inservice
  rserver NOVHQERP_TOATST_2 80
    inservice
!
sticky http-cookie ORACLE_TEST GROUP8
  cookie insert
  serverfarm ORACLE_TEST_HTTP
  replicate sticky
!
class-map match-all ORACLE_TEST_VIP
  2 match virtual-address 172.30.110.57 tcp eq 80
!
policy-map type loadbalance first-match ORACLE_TEST
  class class-default
    sticky-serverfarm GROUP8
!
policy-map multi-match CLIENT_VIPS
  class ORACLE_TEST_VIP
    loadbalance vip inservice
    loadbalance policy ORACLE_TEST
    loadbalance vip icmp-reply active
    nat dynamic 1 vlan 110

 

Thanks in advance,

Adil

3 Replies 3

Kanwaljeet Singh
Cisco Employee
Cisco Employee

Hi Adil,

When you say new session is created, what do you exactly mean? Does user get a redirect or what happens exactly? ACE will look for cookie and if it is not there, ACE will take the loadbalancing decision. Do you know if client is coming with the same cookie? Have you got persistence rebalance enabled in http parameter map?

Regards,

Kanwal

Hi Kanwalsi,

 

Thank you for your response.  When I say new session, I mean a new browser window or tab is launched when a user clicks on a specific module within the main application.  Or this can be translated to mean a new quintuple (source ip: source port -> destination ip: destination port and protocol) is initiated between the client and the server.

If you look at the sample config, server persistence using cookies is configured.  I don't have persistence rebalance configured.  Could this be the missing configuration I need to keep the client to use the same rserver within the same Oracle instance (for example, user logs into a single instance but clicks on multiple modules within an instance)?

 

Adil

 

 

Hi Adil,

Yes please. Try to enable persistence rebalance and check again and let me know.

Regards,

Kanwal

Review Cisco Networking for a $25 gift card