Solved

Improper RAC Load Balancing

Posted on 2007-03-22
1
732 Views
Last Modified: 2007-04-13
Oracle 9.2.0.8 on Windows 2003 Server.  We are experiencing problems with the database connectivity from the production web servers for the last 2-3 weeks. We are using Oracle RAC and there are 2 database servers. The load seems to shift until most of the connections are going to the same Oracle node i.e. second node. We are using Windows load balancing and all microsoft drivers on the web servers. Does anybody have any idea what might cause this?

LISTENERS_xPC =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
  )
 
LISTENER_xPC1 =
  (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
 
LISTENER_xPC2 =
  (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
 

xPC =
  (DESCRIPTION =
    (LOAD_BALANCE = on)
    (FAILOVER = on)
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = tcp)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
     (ADDRESS = (PROTOCOL = tcp)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PC)
      (FAILOVER_MODE =
        (TYPE = session)
        (METHOD = basic)
      )
    )
  )
 
PC1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = pc)
      (INSTANCE_NAME = pc1)
      (SERVER=DEDICATED)
    )
  )
 
PC2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XX.XX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = pc)
      (INSTANCE_NAME = pc2)
    )
  )




0
Comment
Question by:DonFreeman
1 Comment
 
LVL 7

Accepted Solution

by:
gattu007 earned 250 total points
ID: 18819376
Server side load balancing can also be used to balance the number of connections to each instance. Session count balancing is method used when you set a listener parameter, prefer_least_loaded_node_listener-name=off. Note listener name is the actual name of the listener which is different on each node in your cluster and by default is listener_nodename.
Session based load balancing takes into account the number of sessions connected to each node and then distributes the connections to balance the number of sessions across the different nodes.


Reference:
==========
       RAC: Frequently Asked Questions
        Doc ID:       Note:220970.1
0

Featured Post

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

947 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now