Run-time connection load balancing

Hello!
I'm using jdbc thin client (10g) and I'm trying to improve connection pool management. I would like to enable run-time connection load balancing. Is this option
available with Fast Connection failover?
Basically when a a client requests a connection from the connection cache by calling the getConnection method on the DataSource object, I want that the connection selected
is the connection that belongs to the best instance from the connection cache. The client receives the connection that would process the work request with the
best response time.
With run-time connection load balancing ebabled what's happen when new connection is requested? The same algorithm?
Other question:
Is it possible create a manually process to distribute new connections? Having the following connection string:
url="jdbc:oracle:thin:@
(DESCRIPTION=
(ADDRESS=(protocol=tcp)(host=192.168.12.17)(port=1521))
(ADDRESS=(protocol=tcp)(host=192.168.12.18)(port=1521))
(load_balance=on)
(connect_data=(service_name=EHR)))"
In a specific moment I want that new connections only will be created in a specific instance... How can I do this? P.e.
Connection POOL has 10 connections (5 in each instance). All sessions are active and a new session needs to be created. At this moment I want to decide wich instance
is the best to attend the request...
Thanks a lot
Best Regards

Hi, there are several questions here. So, let me try to answer some, and I could address more if you have further questions. I am also presuming you are using JDBC driver's
colocated Implicit connection cache.
1) Yes, you need to enable FCF on the pool to leverage RCLB. Note, there are
no specific knobs for RCLB on the client side, only the RAC / DB side which requires
LBA to be enabled (this is documented in the RAC clusterware admin guide)
2) When LBA is enabled on RAC/DB, RAC starts posting FaN events to the pool.
This enables the pool to pick the best connection to an instance with the best
service response time or throughput -- depending on how LBA was enabled.
3) When new connections are created, the pool relies on the DB listener to place/create
the connections on the appropriate RAC instance -- this depends on the LBA goal you
set, and is required to be set to "short"
4) The pool currently does not have the ability to create a conn to a named instance.
What's the requirement or use case for this? If we understand this better, perhaps
we could address this. How do "you" decide which is the best instance to connect?

Similar Messages

  • Connection Load Balancing question

    Hi All,
    this is from oracle net8 Administrator's Guide (between double quotes):
    "Connection load balancing improves connection performance by balancing the number of active connections among multiple dispatchers. In an Oracle Parallel Server environment, connection load balancing also has the capability to balance the number of active connections among multiple instances. "
    My question is, from that statement above, does it mean that the connection load balancing can only be useful on a OPS with MTS instances?
    and second is , does it make sense (or can it be done) to implement it on single instance of MTS?
    TIA,
    Andi

    Hi Andi,
    CLB is only used in cluster configuration! In single node instance there is no advantage for ovbious reason of putting one more layer.
    you are right...use only with OPS and preferably with MTS.
    Best,
    G

  • Howto - connection load balancing

    Hello
    I have a 11.1.0.7 clustered oracle db with two nodes. Using the oci access through the ojdbc14.jar for oracle 9.2.0.1 I programmed a datasource like this:
    public class DataSource_9i_oci
    extends OracleOCIConnectionPool
    public DataSource_9i_oci() throws SQLException
    super();
    setUser(RACBehaviourTest.UNAME);
    setPassword(RACBehaviourTest.PSWD);
    setURL("jdbc:oracle:oci:@tnsname");
    Properties poolConfig = new java.util.Properties( );
    poolConfig.put (OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT, "1");
    poolConfig.put (OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT, "100");
    poolConfig.put (OracleOCIConnectionPool.CONNPOOL_INCREMENT, "2");
    setPoolConfig(poolConfig);
    My TNSNAMES.ORA contains the name
    tnsname=
    (description=
    (load_balance=on)
    (failover=on)
    (address_list=
    (address=(protocol=tcp)(host=xxx.xx.xx.xxx)(port=1521))
    (address=(protocol=tcp)(host=xxx.xx.xx.xxx)(port=1521)))
    (connect_data=
    (service_name=service.name)
    (failover_mode =
    (type = select)
    (method = basic))))
    Then I spawned a group of threads each issuing a select statement and holding after that, until a central thread collects session statisticss from gv$session about the opened sessions in each instance for my user, and unblocks the working threads only after that.
    This test is aimed at evaluating the load balancing capabilities of the oci vs thin drivers in different versions. The code above is the data source being used with the 9.2.0.1 oci driver.
    Then I have another DataSource to be used in the same test and the ojdbc6.jar thin driver for 11.1.0.7. It is programmed like this:
    public class DataSource_11g_thin
    extends OracleDataSource
    public DataSource_11g_thin(boolean enableFCF) throws SQLException
    super();
    String url = "jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on) " +
    "(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xx.xx.xxx) (PORT=1521)) " +
    "(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xx.xx.xxx) (PORT=1521)) " +
    "(CONNECT_DATA=(SERVICE_NAME=service.name)))";
    setURL(url);
    setUser(RACBehaviourTest.UNAME);
    setPassword(RACBehaviourTest.PSWD);
    setImplicitCachingEnabled(true);
    Properties props = new Properties();
    props.setProperty("InitialLimit", "500");
    props.setProperty("MaxLimit", "500");
    props.setProperty("ValidateConnection", "true");
    setConnectionCacheProperties(props);
    This test is using connection load balancing without leveraging the FAN infrastructure.
    So, with this setup and creating 100 threads, what my tests show is that there's no load balancing in the 9i oci driver, all the 100 sessions are being opened in the same instance. The 11g thin driver however, distributes the opened sessions between the two nodes, even if in an unbalanced way (70-30).
    Is there any way to activate load balancing in the oci driver ? Am I missing something ?
    Thank you in advance.

    use this link
    http://www.trivadis.com/uploads/tx_cabagdownloadarea/J2EE_RAC_setup_xp_ok_01.pdf

  • Time service load-balancing

    Hi,
    I have a question about load-balancing facilities for Time service. If I
    schedule a TimeScheduleDef object to run at certain intervals, does the
    run-time environment take care of load balancing it across multiple machines
    on a cluster?
    Thanks,
    Deepak

    WebLogic Time is not a clustered service -- it is configured per server and
    load balancing is performed.
    Thanks,
    Michael
    Michael Girdley
    Product Manager, WebLogic Server & Express
    BEA Systems Inc
    Deepak Goel <[email protected]> wrote in message
    news:8gvrdb$n18$[email protected]..
    Hi,
    I have a question about load-balancing facilities for Time service. If I
    schedule a TimeScheduleDef object to run at certain intervals, does the
    run-time environment take care of load balancing it across multiplemachines
    on a cluster?
    Thanks,
    Deepak

  • Query run time - BI Load Statistics

    Hi experts,
    In ST03N, the BI Workload for an query on a multiprovider is as follows for 2 different dates.
    26.02.2010:
    InfoCube: X
    Name of Query: Y
    No.of Nav. - 13
    Total time - 2,218.4
    Ø Total - 170.6
    MED: Total - 8.6
    OLAP Time -  1,603.7
    Ø OLAP - 123.4
    DB Time -  248.8
    Ø  DB - 19.1
    Frontend - 157.1
    Ø Frontend - 12.1
    Planning - 0
    Avg.Plan. - 0
    Unass.Time -  208.8
    Avg.Unass. - 16.1
    Selected - 8,509,963
    Select. / Transf. -  14.7
    26.03.2010:
    InfoCube: X
    Name of Query: Y
    No.of Nav.: 13
    Total time - 6,896.8 
    Ø Total - 530.5
    MED: Total - 11.9
    OLAP Time - 206.1
    Ø OLAP - 15.9
    DB Time -  887.9
    Ø  DB - 68.3
    Frontend - 75.3
    Ø Frontend -  5.8
    Planning - 0
    Avg.Plan. - 0
    Unass.Time -  5,727.5
    Avg.Unass. - 440.6
    Selected - 1,126,660
    Select. / Transf. - 87.7
    Our query runtime gradually increased. By the above values what are the things we need to consider to reduce the query runtime.
    Do we need to change any settings in the system to reduce query runtime ?
    What is the "Unass.Time" ?
    Please provide some inputs....
    Regards,
    Bhadri M.
    Edited by: Bhadri M on Mar 29, 2010 2:49 PM
    Edited by: Bhadri M on Mar 29, 2010 5:31 PM

    Hi,
    Execute one time this query in debug mode without cache. Verify a new values in ST03N transaction and put its here.
    Regards,
    Conrado
    Spanish SAP Forums administrator
    [www.forosap.com|www.forosap.com]

  • Requirement: Siebel URL availability   and response time with load  balance

    Hi,
    I Would like to ask a open help about creating a alert for siebel URL downtime (URL Availability), I Should get an alert whenever Siebel URL un-available.
    Any Idea of automating from OEM (Oracle Enterprise Manager).
    Regards,
    Vignesh.

    I am not sure about OEM but you can use the default email trigering mechanism that comes with lastest siebel version when component goes down.
    http://docs.oracle.com/cd/B40099_02/books/SystAdm/SystAdm_ConfigServer23.html#wp1096046

  • RFC Sender (XI 3.0, SP14) Load Balancing doesn't work

    Hi all,
    We're "desperately" trying to use the Load Balancing option of RFC Sender Adapter (XI 3.0, SP14). It doesn't work.
    The Adapter can not register to the sender SAP server. But when we do not use the "Load Balancing" option, everything works well.
    We did follow the XI guidelines step-by-step. All necessary configurations in XI and in SAP sender system (TA: SM59) are "properly" done and reviewed by different experts several times.
    Do you have, by chance any running scenario using "Load Balancing" within a RFC Adapter? If yes, I would appreciate if you can share it with me. 
    Thanks a lot!
    Regards,
    Khaled

    Hello Khaled,
    the RFC sender adapter registers a program at the SAP Gateway. Load Balancing for the Sender Adapter means, that you have at least two J2EE server nodes within your XI installation. On all these server nodes the same RFC sender adapter is started and register the same program at the same gateway. The load balancing is then handled by the gateway. That means, that for the sender adapter the settings are the same, even if you use load balancing or not.
    The settings are, e.g.
    - SID=ABC
    - hostname=abchost (central instance, message server)
    - hostname=xyzhost (additional dialog instance of ABC)
    - instance nr=00
    application server (gateway): xi1host
    application server service (gw-service): sapgw00
    programm id: could be freely choosen
    The Metadata Repository could be connected using load balancing. Here a user need to log on to the system.
    The settings here must be:
    Message-Server: abchost
    Message-Server-Service: sapmsABC
    System-ID: ABC
    Logon-Group: e.g. PUBLIC; this logon group need to be created in system ABC using transaction SMLG
    For the RFC-Receiver Adapter the same settings as for the Metadata could be used.
    Keep in mind, that for the RFC Sender Adapter a RFC connection of type T must be created in transaction SM59 in system ABC.
    Rgds.,
    Andreas

  • Load Balancing in RAC

    If you have 2 node cluster , you have configured Node 1 as Preferred instance and Node 2 as available.
    According to Oracle , the service will always run on a preferred instance and will relocate to available instance in case of preferred node failure.
    Also you have server side load balancing, as per documentation the service will relocate on available instance if the preferred node crashes.
    Question: How will Oracle take care of Load Balancing , since the service on available node will only run if the preferred node crashes. Since the service is not running on Node 2 (available instance) ? How will oracle distribute the connections among the nodes?

    The answer to your question depends one the configuration of your Oracle Net Services, Whether you have configured connection load balancing or server side load balancing. Oracle will only balance the workload among the database instance running the service. By default Oracle starts the service on prefered node and in your case you have configured only one preferred database instance for your service and at a time service will run on one node only so Oracle does not have any options to distribute the workload even if you have configured the server side load balancing for the services using the service level goals.
    To explain it further, consider you have 3 node cluster. The database instance on first and second node are preferred instances for the net service and service-level goals are defined for server side load balancing.
    Now suppose second node fails and Oracle relocates the service to third node. Because Oracle is aware about the services running in the cluster even the relocated services (You should read about LOCAL_LISTENER and REMOTE_LISTENER to understand how Oracle register services with listeners on other cluster nodes) thats why using the load balancing advisory Oracle decides, which node the new database connection should be connected.

  • ASA 5520 VPN load balancing with Active/Standby failover on 2 devices only...

    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin-top:0in;
    mso-para-margin-right:0in;
    mso-para-margin-bottom:10.0pt;
    mso-para-margin-left:0in;
    line-height:115%;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:"Times New Roman";
    mso-fareast-theme-font:minor-fareast;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;}
    This topic has been beat to death, but I did not see a real answer. Here is configuration:
    1) 2 x ASA 5520, running 8.2
    2) Both ASA are in same outside and inside interface broadcast domains – common Ethernet on interfaces
    3) Both ASA are running single context but are active/standby failovers of each other. There are no more ASA’s in the equation. Just these 2. NOTE: this is not a Active/Active failover configuration. This is simply a 1-context active/standby configuration.
    4) I want to share VPN load among two devices and retain active/standby failover functionality. Can I use VPN load balancing feature?
    This sounds trivial, but I cannot find a clear answer (without testing this); and many people are confusing the issue. Here are some examples of confusion. These do not apply to my scenario.
    Active/Active failover is understood to mean only two ASA running multi-contexts. Context 1 is active on ASA1 Context 2 is active on ASA2. They are sharing failover information. Active/Active does not mean two independently configured ASA devices, which do not share failover communication, but do VPN load balancing. It is clear that this latter scenario will work and that both ASA are active, but they are not in the Active/Active configuration definition. Some people are calling VPN load balancing on two unique ASA’s “active/active”, but it is not
    The other confusing thing I have seen is that VPN config guide for VPN load balancing mentions configuring separate IP address pools on the VPN devices, so that clients on ASA1 do not have IP address overlap with clients on ASA2. When you configure ip address pool on active ASA1, this gets replicated to standby ASA2. In other words, you cannot have two unique IP address pools on a ASA Active/Standby cluster. I guess I could draw addresses from external DHCP server, and then do some kind of routing. Perhaps this will work?
    In any case, any experts out there that can answer question? TIA!

    Wow, some good info posted here (both questions and some answers). I'm in a similar situation with a couple of vpn load-balanced pairs... my goal was to get active-standby failover up and running in each pair- then I ran into this thread and saw the first post about the unique IP addr pools (and obviously we can't have unique pools in an active-standby failover rig where the complete config is replicated). So it would seem that these two features are indeed mutually exclusive. Real nice initial post to call this out.
    Now I'm wondering if the ASA could actually handle a single addr pool in an active-standby fo rig- *if* the code supported the exchange of addr pool status between the fo members (so they each would know what addrs have been farmed out from this single pool)? Can I get some feedback from folks on this? If this is viable, then I suppose we could submit a feature request to Cisco... not that this would necessarily be supported anytime soon, but it might be worth a try. And I'm also assuming we might need a vip on the inside int as well (not just on the outside), to properly flip the traffic on both sides if the failover occurs (note we're not currently doing this).
    Finally, if a member fails in a std load-balanced vpn pair (w/o fo disabled), the remaining member must take over traffic hitting the vip addr (full time)... can someone tell me how this works? And when this pair is working normally (with both members up), do the two systems coordinate who owns the vip at any time to load-balance the traffic? Is this basically how their load-balancing scheme works?
    Anyway, pretty cool thread... would really appreciate it if folks could give some feedback on some of the above.
    Thanks much,
    Mike

  • Load Balancing Convergence

    Does anyone have advice on how to have multiple instances of Convergence running with a load balancer is front?
    We currently have an environment that consists of 6 Convergence web servers behind a Cisco ACE Load Balancer
    However, we ran into problems initially in regards to SSL offload. HTTPS connections come into the LB on port 443 where the LB handles the security decryption and are then forwards to the Convergence web server on port 80. This was causing a problem because Glassfish was always redirecting the traffic back to HTTP
    Our only solution to get around this problem was to install an apache proxy server that sits in between the LB and Convergence. So now the HTTPS connections come into the LB on port 443 where the LB handles the security decryption and are then forwards to the Apache proxy server on port 80 which checks the url and if it is HTTPS it forward the traffic to Convergence which is running on port 1080, or if the url is HTTP it redirects it to HTTPS
    This doesn't seem like an ideal solution to me. Has anyone got this or something similar working in their environment?
    FYI, would prefer not to use the Glassfish software load balancing

    eolair wrote:
    Is there any documentation on these filters?Nothing public.
    They are the ones executed before the SSOFilter, so one of them is redirecting the URL https://domain/iwc to http://domain/iwc
    SetCharacterEncodingFilter=> This sets the encoding to UTF-8. It doesn't perform a redirect.
    UserTraceFilter=> This is used for adding the users' IP address and session ID to the iwc.log when enableusertrace is enabled. It doesn't perform a redirect.
    AnonymousRequestFilter=> This is for anonymous calendar access. This is the only filter that performs a redirect however only not to "http://domain/iwc".
    Regards,
    Shane.

  • JDBC load balancing with non RAC replicated instances

    Hi,
    The thin JDBC load balancing feature only works with RAC clusters or it can be used with two non RAC replicated instances using the same service name?
    Thanks,
    Ezio.

    Thank you Douglas for your time.
    I assumed the first case (database connection load balancing). I thought that the listener would do the load balancing and failover trick. So, I configured the JDBC connection as follow:
    String MM_loadBalance1_DRIVER = "oracle.jdbc.driver.OracleDriver";
    String MM_loadBalance1_USERNAME = "scott";
    String MM_loadBalance1_PASSWORD = "tiger";
    String MM_loadBalance1_STRING = "jdbc:oracle:thin:@(DESCRIPTION=" +
    " (LOAD_BALANCE=on) (FAILOVER=on)"+
    " (ADDRESS_LIST="+
    " (ADDRESS=(PROTOCOL=TCP)(HOST=test1) (PORT=1521))"+
    " (ADDRESS=(PROTOCOL=TCP)(HOST=test2)(PORT=1521)))"+
    " (CONNECT_DATA=(SERVICE_NAME=test)))";
    Driver DriverRecordset1 = (Driver)Class.forName(MM_loadBalance1_DRIVER).newInstance();
    Connection ConnRecordset1 = DriverManager.getConnection(MM_loadBalance1_STRING,MM_loadBalance1_USERNAME,MM_loadBalance1_PASSWORD);
    But, when one of the instances was down (test1), the connection failed, it didn't failed over to the other instance (test2).
    So I wondered if it failed due to some misconfiguration issue or because it only works with RAC instances...

  • Weblogic: load balancing and RAC contention

    I cannot locate any useful documentation on this: I am trying to find the optimal configuration to allow an Weblogic Application server to load balance to RAC.
    I see high numbers of v$sqlstats.clwait_delta for sessions connected from weblogic servers; typically from 25-95% over the overall statement execution time.
    Configuration is a three node RAC 10.2.0.4 on Linux; with and eight node weblogic cluster connected using about 150 sessions (equally divided between the rac nodes), hosting a number of applications. They use "Least Connections" load balancing which means any thread(/connection) could be used next. The weblogic sessions connect to a RAC service that is configured with LOAD_BALANCE=YES.
    I suspect that contention is caused by behaviour such as
    - insert on one node, then immediately query back on another node
    - inserts to indexed tables being distributed across all three nodes.
    There is too much going on here, and I want to simplify the configuration to eliminate contention for the same data blocks across nodes - this will likely mean new database services configured with LOAD_BALANCE=NO and some form of application partitioning on the weblogic servers. There are other load balancing schemes available for weblogic; but none seem designed to work well with rac.
    Is there any best practice documentation available to configure weblogic on RAC (as opposed to single-instance, which doesnt have any such contention issues).
    Any pointers appreciated!
    Rgds
    Mark Teehan
    Singapore

    Hi,
    see these 2 whitepapers:
    http://www.oracle.com/technetwork/database/enterprise-edition/twpracwkldmgmt-132994.pdf
    http://www.oracle.com/technetwork/database/enterprise-edition/bestpracticesforxaandrac-128676.pdf
    they should provide you with enough information on what to do.
    Regards
    Sebastian

  • Clustering not Load balancing on solaris with apache

    apache weblogic plugin does not do round-robin , it's kind of random when
              direct the request to the appserver. anyone has seen this problem?
              weblogic5.1 sp9. solaris 2.7 jre1.3.1 rc2
              

    Actually, the random load-balancing when using Apache is caused by the fact
              that Apache (<2.0) spawns multiple processes, so single Apache instance
              will have several plug-in instances running.
              Mike Reiche <[email protected]> wrote:
              > You are using the weblogic plug-in, aren't you?
              > Only new requests are round-robinned. A second request from the same browser
              > is sent to the same server it hit the first time (sticky load-balancing).
              > Mike
              > "Tony Lu" <[email protected]> wrote:
              >>apache weblogic plugin does not do round-robin , it's kind of random
              >>when
              >>direct the request to the appserver. anyone has seen this problem?
              >>
              >>weblogic5.1 sp9. solaris 2.7 jre1.3.1 rc2
              >>
              >>
              Dimitri
              

  • Best way to load balance VPNs

    I have two ASA 5540s that I would like to configure for VPN load balancing. I had been looking at the Active / Standby configurations, but am curious if doing this I can truly get VPN load balancing or if this means all VPNs on the active unit and then when a failure happens all VPNs go over to the standby unit. This isn't what I want.
    I have found some documents that talk about setting up a cluster. But I think these documents are telling me not to configure the two ASAs as a active / standby failover pair. Does that make sense?
    Anyway - what is the best way to accomplish VPN load balancing? In our setup these ASAs will only be handling VPNs (no firewalling will be done here).

    An active/standby failover pair configuration will provide for resiliency in the event of a hardware or software failure. One ASA is "Active" while the other is in a "Standby" mode. Config and state information is synchronized between the two devices. Only one ASA services client connections at any given time.
    Load balancing, on the other hand, allows you to configure a "cluster" with multiple participants. Each participating ASA can service client connections thus sharing the load. The following doc gives a good overview of load balancing and provides sample configurations.
    http://www.cisco.com/en/US/docs/security/asa/asa80/configuration/guide/vpnsysop.html#wp1048959

  • Flex Load Balancer Environment URL Redirect

    Hi,
    Our Flex application is running on a load balancer environment, where SSL is terminated.  From the browser to load balancer, the connection is using https and from the load balancer to the server, it is http. What we are noticing is, when the https url is invoked on the browser, it immediately redirects the url from https to http. This breaks the connection and an error message unable to connect is shown on the browser.  We traced the network traffic using the Live HTTP headers, it showed the same redirect in the url with the message HTTP/1.1 302 Moved Temporarily.
    Please let me know, how i can resolve this issue. Also let me know, if you need any other information from me.
    Thanks for your help.
    Murugan.

    I'm kind of a newbie on the netscaler. What od you mean by stick? We keep persistence by a cookie insert.
    I did find out what the issue was, our E1 installation sits on port 8086, so from the netscaler we would reroute the port 80 calls from jdesso.xxx.local to the E1 server, but for some reason when the handoff came back from OID to E1 the load balancer somehow realized the app server was running from port 8086 and it mixed the whole process up (instead of keeping all traffic to and from the client on port 80). To workaround this I created a new virtual server to listen on port 8086, then I redirected the port 80 calls to new 8086 VS, and then from the 8086VS to the app server and it worked correctly.

Maybe you are looking for