What is a cluster in oracle?
The business works w.r.t to SLA ( Service level agreement) i.e. an application/website must be available 99-100% of the time. How to achieve that?
We have an application that is making a connection with the database through an instance. If due to any reason may be because of the network, instance crash that instance goes down, we will not able to achieve the SLA required by the business. We have a profound DBA team enough capable to solve the issue in 1 hour still, our SLA will be breached. What to do now 🤔 ?
As we are paying too much to the oracle, so why not to use services they have provided us.
Here comes in picture "Cluster". Cluster means a group in laymen language.
As per definition "Cluster is a group of nodes which together works as a single system and RAC is the implementation of instances/nodes running in a cluster"
Now How the group can solve the issue? We have a group of capable DBA as well 😕.
Let's come to the point of the cluster. What if we have two Instances, can this solve our problem?
As we have a problem that if our only instance goes down, an application would not able to access the database. This is the magic of the cluster. Now instead of Single instance, we have two instances.
If one instance goes down, the application user still can access the database through 2nd instance.
The crux is through clustering we have achieved High availability and also we SLA will not get breached. Meanwhile, Our DBA's can solve the issue on the First node 😌. And how oracle manage this clustering, through Clusterware.
But why just for high availability we are using a Clustering (another overhead on us DBA's).
Here comes another advantage of using Clustering. That one is Scalability. To understand scalability we have to go into the past where we have only one Instance, Due to business growth we have more traffic on our application it means money 😁 , but we have only a single instance having fewer resources. What to do now? One-off a DBA from our team gave us a great idea that we should increase resources of that instance means increase memory, CPU, etc. Oh God but what about High availability if that single goes down we are big trouble that we discussed earlier. We need two instances that are for sure. But if we think about these instances in broader prospect we have two instances they both provide us scalability as we haven't decreased resources on our 1st instance, we have added a 2nd instance having the same resources as that of First. This way we have achieved High availability as well as Scalability.
RAC (Real Application Cluster)
Why I have written RAC in Heading?
We missed something. What? We have two instances that are for sure, but we have a single Database. Two instances are working on a single database. This is "RAC (Real Application Cluster) where we have multiple instances but all instances are working on a single database simultaneously".
But lots of questions must have arisen due to this. What if User A is working is performing any DML on Table A at the same time User B is doing DML on that same table.
For managing all this we have Grid infrastructure.
What is Grid Infrastructure?
For Standalone database i.e for single instance database.
Oracle Grid Infrastructure for a standalone server is the software that includes Oracle Restart and Oracle ASM. Oracle combined the two infrastructure products into a single set of binaries that are installed as the Oracle Grid Infrastructure home.
Oracle ASM is a volume manager and a file system for Oracle database files that supports single-instance Oracle Database and Oracle Real Application Clusters (Oracle RAC) configurations. Oracle ASM also supports a general-purpose file system for your application needs including Oracle Database binaries. Oracle ASM is Oracle's recommended storage management solution that provides an alternative to conventional volume managers, file systems, and raw devices.
Oracle Restart improves the availability of your Oracle database by providing the following:
- When there is a hardware or a software failure, Oracle Restart automatically starts all Oracle components, including Oracle database instance, Oracle Net Listener, database services, and Oracle ASM.
- Oracle Restart starts up components in the proper order when the database host is restarted.
- Oracle Restart runs periodic checks to monitor the health of Oracle components. If a check operation fails for a component, then the component is shut down and restarted.
For RAC Databases i.e. Databases having multiple instances.
Oracle Real Application Clusters
Oracle Real Application Clusters enables a single database to run across multiple clustered nodes in a grid, pooling the processing resources of several standard machines.
Oracle Clusterware
Oracle Clusterware is a portable cluster software that allows the clustering of single servers so that they cooperate as a single system. Oracle Clusterware also provides the required infrastructure for Oracle Real Application Clusters (RAC). Oracle Clusterware also enables the protection of any Oracle application or any other kind of application within a cluster.
In simple terms
Underlying foundation with which oracle implement RAC is Clusterware in Grid infrastructure. Clusterware is software with which oracle manages clustering. Its work is to manage the node eviction etc.
Oracle Automatic Storage Management
Oracle Automatic Storage Management (ASM) provides a virtualization layer between the database and storage. It treats multiple disks as a single disk group and lets you dynamically add or remove disks while keeping databases online.
Thanks & Enjoy Learning!!
Thanks & Enjoy Learning!!
No comments:
Post a Comment