- How to bulk detach / attach databases in SQL Server - February 2, 2024
- How to enforce password policy in an Oracle database - 4 January 2024
- How do we change the name of the user / schema in an Oracle database - 1 December 2023
In this article we will see a detailed description of what Oracle RAC (Real Application Cluster) is, what features it provides and how it works.
The Oracle RAC is a software that allows us to connect multiple servers (up to 100) in a cluster for Oracle Database which appears as a server to the end user or application. It provides us with the combined power of all servers and we have the ability to Read/Write from any server-node belonging to this cluster. So it is a very good solution for High Availability and Load Balancing.
How does it work
Each server "raises" separately instance with its own processes, but the storage where the database files are stored is shared, either with technology Oracle ASM (Automatic Storage Management) or with technology Oracle Direct NFS (Network File System), either with technology OCFS (Oracle Cluster File System).
How Oracle Database Services help us
It gives us the possibility to create individually services so that we can connect preferentially to specific servers/nodes. For example, as we see in the Oracle diagram above, HR should be connected to the first server/node, sales to the second and the call center to the third. Of course, if one of the servers is down, if we want it, the service can be done automatically relocate on one of the available servers/nodes.
Communication between servers/nodes is done through a private network in a different subnet with an IP defined for each server/node. THE public communication to the servers is done via IP addresses VIP (Virtual Internet Protocol) that we again define one for each server/node we have. However, public communication by end users and applications is recommended to be done through the address SCAN (Single Client Access Name) which points to 3 different IPs specified in the DNS Server as round-robin. By using it SCAN listener any connection that uses this name is forwarded to the server/node that has the least load, unless the service we are connecting to is set to connect to a specific server/node. This way we have load balancing and we don't need to add a separate name / IP for each server/node.
Finally to install Oracle RAC, before we install its software Oracle Database we need the software Oracle Grid Infrastructure containing the software and for the Oracle Clusterware and for it Oracle ASM (Automatic Storage Management).