6 Replies Latest reply: Dec 4, 2012 5:25 AM by nnarimanov RSS

    Oracle RAC Load Balancing

    976410
      I have Oracle 10g RAC database with 6 node installed. Now i want to do load balaning for few users not for all.

      Suppose i have users a,b,c,d & e are there and i want to redirect the login of users a,c & e throgh node 5. How can i achieve this using server side load balancing ?

      Thanks in Advance.
        • 1. Re: Oracle RAC Load Balancing
          onedbguru
          973407 wrote:
          I have Oracle 10g RAC database with 6 node installed. Now i want to do load balaning for few users not for all.

          Suppose i have users a,b,c,d & e are there and i want to redirect the login of users a,c & e throgh node 5. How can i achieve this using server side load balancing ?

          Thanks in Advance.
          Create a service for each group, entering that service name in the connect string, and providing those users with the appropriate tnsnames.ora or application.
          You middle-tier could handle this using the correct jdbc connection based on some info retrieved from the database. I will leave it up to you to take the suggestions and figure out how to develop the scenario you described.

          Isn't It is also about time you upgraded to something that is still supported? 11g will make some of these issues a whole lot easier. You CAN use 11g Cluster/ASM with your 10g database until you can get your db upgraded. I have upgraded a boat-load of 10g databases to 11g - always < 2hrs start to finish. In many cases converting from single-instance to RAC in the same upgrade session. YMMV.
          • 2. Re: Oracle RAC Load Balancing
            nnarimanov
            You should use srvctl for creating new service, then modify serice attributes via DBMS_SERVICE in 10g. For ex:
            1) srvctl start service -d SRAC -s srv_srac
            2)
            exec DBMS_SERVICE.MODIFY_SERVICE(
            service_name => 'srv_srac',
            goal => DBMS_SERVICE.GOAL_THROUGHPUT,
            failover_method => DBMS_SERVICE.FAILOVER_METHOD_BASIC,
            failover_type => DBMS_SERVICE.FAILOVER_TYPE_SELECT,
            failover_retries => 30,
            failover_delay => 2,
            clb_goal => DBMS_SERVICE.CLB_GOAL_LONG);

            Regards,
            • 3. Re: Oracle RAC Load Balancing
              user12288492
              For server side load balancing CLB_GOAL should be set to SHORT to be able to use Load Balancing Advisory.
              • 4. Re: Oracle RAC Load Balancing
                nnarimanov
                Exactly, it was jus a example.
                • 5. Re: Oracle RAC Load Balancing
                  976410
                  Hi All,

                  Thanks for all your replies.

                  But my question was how to redirect few users to connect the oracle via particular node only without modifying their TNS file.
                  For example, if we have 100 of users accessing the database and i want to redirect 5 users from those 100 users via Node 5 only, how can i achieve this without modifying their local TNS file.

                  Is there any serverside filter can be use to redirect those 5 users via Node 5 ?

                  Thanks
                  • 6. Re: Oracle RAC Load Balancing
                    nnarimanov
                    Hi,

                    srvctl add service -d YOURDB -s SERVICEONNODE5 -r INSTANCENAMEONNODE5

                    Unfortunally you should edit tnsnames for users who must connect to node5. After editing your tns will be something like:

                    YOURDB =
                    (DESCRIPTION =
                    (ADDRESS = (PROTOCOL = TCP)(HOST = yourcluster-scan.domain.com)(PORT = 1521))
                    (CONNECT_DATA =
                    (SERVER = DEDICATED)
                    (SERVICE_NAME = SERVICEONNODE5)
                    )
                    )

                    Edited by: nnarimanov on Dec 4, 2012 3:25 PM