Oracle RAC (Real Application Cluster)

Oracle RAC Oracle RAC

Oracle RAC bedeutet Real Application Cluster und ist eine Möglichkeit um die Oracle Datenbank Hochverfügbar zu machen.  Wenn Anwendungen speziell für das Oracle RAC Umfeld designt werden, kann Oracle RAC im Normalbetrieb auch zur Skalierung der Oracle Database Instance eingesetzt werden.

Vorteile von Oracle RAC auf einen Blick:

  • 99,9% Verfügbarkeit durch mehrere Clusterknoten und Shared Disk Cluster.
  • Lastverteilung des workloads durch gleichmäßige Auslastung der Datenbankinstanzen.
  • Skalierbarkeit durch einfache Erweiterung des Clusters um weitere Datenbank-Grid Knoten.
  • Hohe Performance durch effiziente Nutzung aller vorhandenen Ressourcen innerhalb des Datenbank Clusterverbundes.
  • Sehr geringer Zeitaufwand für den Client-Reconnect bzw. Transparent Failover
  • Mit Stretched Cluster ist Oracle RAC über Brandabschnitte hinweg realisierbar (ca. bis 2 Kilometer Distanz)
  • Schutz vor Datenbankserver Ausfall
Client Zugriff mit Oracle RAC
Client Zugriff mit Oracle RAC

Im Oracle RAC betreibt jeder einzelne Datenbankserver zwar seine eigene Clusterdatenbank(RDBMS)-Instanz allerdings werden alle Clusterknoten gemeinsam über die Cache-Fusion Technologie zu einem gemeinsamen Datenbankcache zusammen geschaltet. Durch diese Technologie ist es der große Vorteil gegenüber Failover-Clustern, dass bei Ausfall eines Datenbankcluster-Knotens bzw. Serverausfalls oder Ausfall des Datenbankdienstes der Client(z.B SQLPlus oder Grafische Oberfläche) direkt auf den nächsten Clusterdatenbank-Knoten weiter arbeiten kann. Des weiteren kann so die Last zwischen den Datenbank-Knoten verteilt werden. Mit dem Commandozeilentool SRVCTL wird die RAC Database per SQL Anweisungen mit Sysdba Berechtigungen administriert.

Oracle RAC ist inzwischen eine kostenpflichtige Erweiterung der Oracle Datenbank für die Enterprise Edition. Bis einschl. Oracle 18c war Oracle RAC mit 2 Knoten im Preis der Standard Edition enthalten.

Ein RAC alleine ist allerdings noch keine vollständige Hochverfügbarkeit. Einem Ausfall der kompletten Storage, der Netzwerkverbindung oder gar eines ganzen Rechenzentrums kann man damit nicht entgehen.

Um den Ausfall eines ganzen Rechenzentrums zu entgehen kann man mit einer Oracle Standby-Technolgie wie etwa Oracle Data Guard entgehen. Die Nutzung von Oracle RAC und Oracle Data Guard wird gemeinsam Maximum Availability Architecture (MAA) genannt.

Oracle RAC mit Data Guard
Oracle RAC mit Data Guard

In einem Oracle RAC Verbund müssen die Datenbankdateien auf einer oder mehreren zentralen Storage liegen, die von allen Datenbank-Instanzen gleichzeitig lese- und schreibbar ist. Hierfür wird die Oracle Technologie ASM (Automatic Storage Management) verwendet. Über den Interconnect (separates Netzwerk) tauschen die einzelnen Cluster-Knoten Ihre Daten aus.

Pachting und Rolling Updates

Ein sehr großer Vorteil von Oracle RAC ist die Möglichkeit zur Nutzung von Rolling Updates und Patches. Dabei kann jeder Datenbank-Knoten einzeln und nacheinander mit Updates und Patches für Betriebssystem und Oracle Datenbanksoftware versorgt werden. Während dessen bleibt eine oder mehrere Datenbankinstanzen für den User permanent verfügbar.

Rolling Updates bei Oracle RAC
Rolling Updates bei Oracle RAC

Hochverfügbarkeit ohne Oracle RAC

Um eine Hochverfügbarkeit ohne Oracle RAC zu gewährleisten gibt es auch andere Möglichkeiten wie z.B aktiv Hot/Cold Standby Datenbank. Dabei kann je nach Modell, der zweite Datenbankserver auch als reine Abfragedatenbank (etwa für Berichte) genutzt werden. Der Zugriff erfolgt auf diese Instanz natürlich nur im Read-Only Modus.

Oracle Failsafe

Für reine Windows Umgebungen gibt es mit Oracle Failsafe eine Clustervariante. Allerdings ist dabei die Instanz immer nur auf einem Knoten aktiv. Die zweite Datenbank Instance kann dabei auch nicht als reine Abfragedatenbank genutzt werden.

Oracle Datenbank auf VMware

Um Hochverfügbarkeit etwas anders abzubilden als mit Oracle RAC könnte man dies auch über VMware mit vMotion abbilden. Allerdings ist bei den Funktionalitäten von VMware auf jeden Fall auch die Lizenzierung bzw. die Lizenzierungsrichtlinie vorher genau zu betrachten. Je nach Anwendungsfall kann mit VMWare auch eine Skalierung durch verschieben auf stärkere Hardware zu tragen kommen. Dabei beraten wir Sie gerne um sämtliche Vor- und Nachteile abzuwägen.

Oracle Clusterware

Oracle Clusterware ist nicht nur die Grundlage für Oracle RAC sondern kann auch genutzt werden um eine Cold Failover (also mit Downtime von x) Cluster zu realisieren. Dabei kann der Ausfall von einem Server oder evtl. Wartungsarbeiten abgefangen werden. Bei dieser Funktionalität kann ein Server im Cluster Lizenzkostenfrei (Stichwort „10 Tage“-Regel) betrieben werden. dabei ist zu beachten, das nach der Ausfallzeit die Oracle Instanz wieder auf den Ursprünglichen Knoten innerhalb von 10 Tagen zurück verschoben wird.

Mit Oracle Clusterware, was ein Bestandteil von Oracle Grid Infrastructure ist, kann quasi Lizenzkostenfrei ein Cluster aufgebaut werden. Gerade in Verbindung mit Oracle Automatic Storage Management (ASM) kann Oracle Clusterware die Basis für Failover Cluster von Drittanwendungen oder ein Oracle Restart sein.