Oracle RAC Deployment with NetScaler

Oracle RAC Deployment with NetScaler

book

Article ID: CTX200303

calendar_today

Updated On:

Description

Oracle Real Application Cluster (RAC) is one of the deployment options available for Oracle Databases. Oracle RAC deployment is illustrated in the following figure.

In a RAC deployment, a client is configured to connect to the SCAN listener. When the client tries to connect to the SCAN listener using the Connect Packet (after TCP handshake), the listener decides which instance is least loaded and then forwards the IP of that instance to the client in a Redirect Packet. After the client receives the Redirect Packet, it extracts the instance IP and sends a TCP SYN to the instance IP. After completing TCP handshake, the client sends the Connect Packet and the instance listener accepts it by sending the Accept Packet. Following that the client sends logon request and server sends OK. Logon phase consists of multiple packet exchanges from both sides, however in the following figure only one is shown for simplicity. After logon is successful, the client sends the query and the server responds with the query response and this continues till the connection is closed.

User-added image

SCAN listener performs connection level load balancing (LB). When a new connection request comes to the listener, it checks the load on various instance servers and instructs the client to connect to one of the instance servers which the SCAN listener provides in a Redirect Packet.

With NetScaler LB, client does not have to connect to the SCAN listener, instead it has to connect to NetScaler LB VIP and has to authenticate with NetScaler LB VIP. When authentication is complete, the client issues a query which is forwarded to one of the database server instances based on LB method configured on NetScaler. After NetScaler receives the query response from the server, it is forwarded to the client.

NetScaler can also detect the server state by using application level monitors. This monitor has the capability to send authentication packets and query the server. The query response can then be matched against a configured value on NetScaler. If monitor detects that the server is not responding with an appropriate value then that service is marked DOWN and the database traffic is not sent to that server until the monitor receives the correct value in the query response. Thus, NetScaler loads all the servers equally by performing LB at the request level instead of connection level. The following figure illustrates a RAC deployment with NetScaler:

User-added image

Issue/Introduction

Oracle RAC deployment with NetScaler.