Monday, August 17, 2020

Oracle RAC Services

 Oracle RAC Services


Introduction:


In RAC (Real Application Cluster)environment  a single  service can represent an application,multiple applications or a subset of a single application,a single service can be associated with one or more instances of a oracle RAC database.



listener (server side)

    establish a connection.

        remote server - tnsnames.ora(client side configuration)


    tnsping net_service_name

    tnsping prod


we can have multiple listener with different ports

configured ?

    yes

    list1 - 1521 - 10conn

    list2 - 9101 - 20

------------------------------------------

Services .


    Purpose - for load balance and failover.

 

hrms  - db1  - app1  -connec1

   finance - db2  - app2 -connec2

  sales - db3  - app3 -connec3-tns


RAC    4 node RAC


    every node has instance and listener(local) with scan listner(remote-dns)


    node1 - scanliste - prod1

    node2 - scanliste - prod2

    node3 - scanliste - prod3

    node4 - scanliste - prod4


   hrms - node1,3-10k

    prod -      finance -n2  -10k

    sales - n3,2  -40k


Automatic Workload Management :


RAC Services:


Using RAC Services , How do we manage applications ?


Define Services to a particular application or to a subset

of application’s operations.


Services enable you to manage your application workloads as

separate entities.


Ensures that business priorities are met by controlling

how processing resources are applied to your application

workloads.


If a primary instance fails, then Oracle moves the service

from the failed instance to a surviving alternate instance.


Using SRVCTL (Server Control) Utility,

DBCA  – we can create, modify,

 start, stop operations


     

How the connections are distributed/balanced across these

 nodes?


by defining a service , the workload is distributed across

nodes as a separate entity.



Preferred Instance :


    The instance that support service.


Available Instance :


 The instance that support a service if the service’s

 preferred instance fails.


Limit of 115 services per database.

Sys$background,sys$users are default Services


using srvctl:


$srvctl add service -d prod -s hrms -r prod1,prod3 -a prod2

$srvctl add service -d prod -s finance -r prod1,prod2 -a prod3

$srvctl add service -d prod -s sales -r prod2 -a prod1

srvctl add service -d prod -s hr -r prod2,prod3 -a prod1

srvctl add service -d prod -s acct -r prod3 -a prod1

$srvctl add service -d prod -s idbi -r prod2 -a prod1


    -r preffered instance

    -a available instance

    -s service name

    -d database name


$srvctl status service -d prod -s hrms

$srvctl start service -d prod -s hr


list of services - using config

$ srvctl config database -d prod


If load on the instance, can move/relocate the service

connections to another instance.


select inst_id,service_name,count(*) from gv$session group by inst_id,service_name;


1  hrms   4500

2 finance   200

2  sales   3000

3 manfacturing    1000

$srvctl relocate service -d prod -s hr -i prod2 -t prod1


        -t newinstance

        -i old instance


by finding number of sessions on service name.


sql>select inst_id,service_name,machine,count(*) from gv$session

group by inst_id,service_name,machine;


1 hrms - 12000

2 sales - 15000

3 fin - 30000

sql>connect sys/sys123@prod1


    For prod1 ,

        has to configure tnsnames.ora

        with service name prod

                 instance_name prod1


     


shared storage - datafiles

                prod -  prod1-list1-scanip

                     prod2-list1-scanip

                    prod3-list1-scanip

application - 3 but db is one(prod)

sales schema

    <-scan

       <-sales - to make it seperate entity with in the same

           db.

        define services to support workload balancing

        and failover.

hrms schema

    <-scan

       <-hrms

finance schema

    <-scan

       <-finance


hrms-prod1,prod3 (A-prd2) - connections - 1000 - gv$session

finance-prod2,prod3 - conn - 200

sales -prod3 - conn - 40



Enabling load balance,Failover


Automatic workload Manangement


    with services - can define.


 

Client side Load Balancing


    tnsnames.ora - copy from server to get connect from

    user.

        using a connect string.

        net service name

     

        nsn - prod

        service_name = prod

        host=scan-cluster - DNS - route least loaded

        node in a round robin method.

 

        LOAD_BALANCE=ON.


    prod1,prod2 - scan will route the connection for these

    preferred nodes configure with service.


    When new node prod3 added to the cluster  then

    Client side additional configuration is not needed.

        when configured with scan and load balance-on

    From server side, modify the service with additional

    instance as a preferred node to support and restart

    the service


FailOver- Client Side :


    using parameter in tnsnames.ora with failover=on will

support Client side failover when node fails.

    helps to failover if the first listener

    connection fails.


    failover=on


Server Side - Load Balancing:


    In server side load balancing , configure the scan

listener as remote listenr in every instance to route the

connection.

    The PMON maintains the performance information and will

    provide from every instance.

    The local listener will redirect to the least loaded

    node as per load provided by pmon from the instance.


    sql>show parameter remote_listener

    sql>show parameter local_listener



What is service?

What is the purpose of service?

How do define services in rac?

What is preferred instance?

What is available instance?

Type of failover and load balancing?

How do we enable client side failover/load balancing?

What are the parameter configured for local and remote listener?

What are the views to find the performance or load on the server in cluster?

    using gv$session


To configure cluster - parameter ?

cluster_database=true


utility to configure services? srvctl


finding services configured for preferred and available

srvctl config service -d prod -s sales



Note:Info on Oracle RAC service it may be differ from your environment prod,test,dev and directories etc



THANKS FOR VIEWING MY BLOG FOR MORE UPDATES FOLLOW ME OR SUBSCRIBE ME


ITIL Process

ITIL Process Introduction In this Blog i am going to explain  ITIL Process, ITIL stands for Information Technology Infrastructure Library ...