Heim  >  Artikel  >  Datenbank  >  Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

WBOY
WBOYnach vorne
2022-03-14 17:28:113794Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Oracle, das hauptsächlich RAC-bezogene Probleme vorstellt. Oracle Real Application Cluster wird verwendet, um eine gemeinsame Datenbank mit mehreren Computern in einer Clusterumgebung zu realisieren, um eine hohe Verfügbarkeit von Anwendungen sicherzustellen.

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Empfohlenes Tutorial: „Oracle Tutorial

Um dem steigenden Geschäftsvolumen gerecht zu werden, gibt es normalerweise zwei allgemeine Richtungen, nämlich die Erhöhung der CPU-Rechenleistung, der Speicherkapazität und der Speicherkapazität eines einzelnen Servers usw.; die andere ist die horizontale Erweiterung, die darin besteht, die Verarbeitungsleistung durch Erhöhung der Anzahl der Server zu erhöhen. Ersteres weist viele Probleme wie Betriebsunterbrechungen und Erweiterungsbeschränkungen auf. Insbesondere bei der schnellen Entwicklung von Internetdiensten kann ein einzelner Server die Anforderungen an die Geschäftslast kaum erfüllen. Daher ist die horizontale Erweiterung derzeit die beliebteste Methode.

Was ist Oracle RAC?

Oracle Real Application Cluster (RAC, Echtzeit-Anwendungscluster) wird verwendet, um eine gemeinsam genutzte Datenbank mit mehreren Maschinen in einer Clusterumgebung zu realisieren, um gleichzeitig die hohe Verfügbarkeit von Anwendungen sicherzustellen und gleichzeitig parallele Verarbeitung und Last zu realisieren Ausgleich und kann den Datenbankausfall bei Fehlertoleranz und haltepunktfreier Wiederherstellung realisieren. Es handelt sich um die Kerntechnologie der Oracle-Datenbank zur Unterstützung der Netzwerk-Computing-Umgebung.

Multiaktiver Cluster mit gemeinsam genutztem Speicher

In dieser Architektur führen mehrere Knoten im Cluster dieselbe Datenbankinstanz aus, die Daten sind vollständig konsistent und die erhaltenen Daten sind dieselben, unabhängig davon, von welchem ​​Knoten aus der Benutzer zugreift. Die folgende Abbildung ist ein schematisches Diagramm von Oracle RAC. Ein Cluster besteht aus drei Knoten, die Daten gemeinsam nutzen.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
Die Eigenschaften von RAC können wie folgt zusammengefasst werden:

  • Knoten sind miteinander verbunden und erscheinen als ein Server;
  • Die Festplatte wird gemeinsam genutzt;
  • Jede Maschine verwendet dasselbe Betriebssystem ;
  • Mehrere Instanzen greifen auf dieselbe Datenbank zu;
  • Datenbankdateien unterstützen den physischen oder logischen Zugriff;
  • Das Lesen und Schreiben von Daten wird durch Software gesteuert.

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RACDer Unterschied zwischen Oracle RAC und einem einzelnen Datenbankserver
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RACWie unten gezeigt, besteht der Hauptunterschied darin, dass RAC eine Cluster-Datenbank ist und über Cluster-Software verwaltet wird.


Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RACOracle RAC-Hardwarearchitektur
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RACUm die Verfügbarkeit des gesamten Clusters sicherzustellen, stellt Oracle RAC während der Bereitstellung viele Anforderungen an die Hardware. Auf Netzwerkebene verfügt Oracle RAC über insgesamt drei Netzwerksysteme, nämlich das externe Zugangsnetzwerk, das interne private Netzwerk und das Speichernetzwerk.

Der externe Zugriff auf das Netzwerk ist selbstverständlich, ich glaube, das versteht jeder. Das interne private Netzwerk wird hauptsächlich für die interne Nutzung des Oracle-Clusters verwendet, einschließlich Datenübertragung, Heartbeat und Cluster-Management. Dieser Teil des Netzwerks erfordert während der Bereitstellung zwei Switches und zwei physische Verbindungen, um sicherzustellen, dass Cluster-Anomalien nicht durch Verbindungsausfälle verursacht werden. Dahinter befindet sich das Speichernetzwerk, über das der RAC-Cluster auf Speicherressourcen zugreift. Auch dieser Teil ist Link-redundant.

Ein weiteres Beispiel ist das Bild unten, bei dem es sich um ein RAC-System mit zwei Knoten handelt. Es ist ersichtlich, dass die Redundanz vom Host bis zum Switch implementiert ist, das Geschäft wird nicht beeinträchtigt. Gemeinsamer Speicher verfügt über RAID-Redundanz.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Unter ihnen werden die Hosts als Knoten bezeichnet. Sie müssen über die gleiche CPU, den gleichen Speicher und andere Konfigurationen verfügen. Jeder muss über mindestens zwei Netzwerkkarten verfügen, um auf das interne und externe Netzwerk zuzugreifen, und über HBA-Karten, um eine Verbindung zum gemeinsamen Speicher herzustellen. Die meisten davon sind jedoch über FC-Switches mit dem FC-Speicher-Array verbunden. Shared Storage ist der Kern der RAC-Architektur. Die meisten Dateien befinden sich im Shared Storage und viele Funktionen wurden für die Sicherheit des Shared Storage entwickelt. Im Allgemeinen wird die Glasfaser über die FC-Schnittstelle angeschlossen und führt das SCSI-Protokoll aus.


Oracle RAC-SoftwarearchitekturAusführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
Wie unten gezeigt, handelt es sich um ein RAC-System mit zwei Knoten. Oracle RDBMS ist die Datenbanksoftware und Oracle Clusterware ist die Clustersoftware. Bei den Treibern handelt es sich hauptsächlich um Netzwerkkarten, HBA-Karten, ASMLib usw.

Jeder Knoten muss über das gleiche Betriebssystem verfügen und die Version muss konsistent sein, einschließlich Patch-Nummern usw. Beispiel: Betriebssystem: RHEL AS 4.8 64bit, Linux-Kernelversion: 2.6.9-89.EL.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
Um Oracle RAC besser zu verstehen, werfen wir einen Blick auf die Zusammensetzung seiner internen Softwaremodule. Auf der gesamten Datenbankebene gibt es nicht viele Unterschiede. Die wichtigsten Ergänzungen sind die folgenden: virtuelle IP (VIP), ASM, Clusterware und Quorum-Disk. Diese neuen Komponenten arbeiten zusammen, um die Multi-Active-Cluster-Funktion von Oracle zu vervollständigen.

Virtuelle IP ist der Zugang für Anwendungen zum Zugriff auf die Datenbank. Diese IP ist an keinen Server gebunden, sondern kann zwischen allen Servern im Cluster wechseln. Dank dieser Funktion kann der Datenbankcluster bei einem Serverabsturz sicherstellen, dass Dienste über dieselbe Schnittstelle für die Außenwelt bereitgestellt werden.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
ASM und Clusterware implementieren Clusterverwaltungsfunktionen, um das Risiko von Dateninkonsistenzen durch gleichzeitigen Festplattenzugriff zu vermeiden, während Clusterware zur Verwaltung der Softwareprozesse und Ressourcenplanung von Oracle-Clustern verwendet wird.

Die Quorum-Festplatte wird verwendet, um die Anomalie der Server im Cluster zu ermitteln. Die Knoten im Cluster markieren ihren eigenen Gesundheitsstatus, indem sie die Daten in bestimmten Bereichen der Quorum-Festplatte regelmäßig aktualisieren. Andere Knoten können anhand dieser Daten feststellen, ob der Knoten ausgefallen ist.

Logische Struktur

Die folgende Abbildung zeigt die logische Struktur von Oracle RAC, und jede darin enthaltene Komponente wird nacheinander vorgestellt.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

DLM: Parallelitätskontrolle

Jeder Knoten hat gleiche Rechte für den Zugriff auf gemeinsam genutzte Speicherdaten. Oracle RAC verwendet Distribute Lock Management (DLM), um den gleichzeitigen Zugriff zwischen mehreren Knoten zu steuern. Der verteilte Sperrmanager ist für die Koordinierung des Wettbewerbs um gemeinsam genutzte Ressourcen zwischen Knoten verantwortlich. Wenn ein Knoten auf Daten zugreift, muss er sich zunächst über DLM bewerben und bestätigen, dass es nicht zu Konflikten mit anderen Knoten kommt, bevor diese verwendet werden können.

OCR: Amnesie

Amnesie: Wenn jeder Knoten über eine Kopie der Cluster-Konfigurationsinformationen verfügt, tritt ein Fehler auf, wenn nach der Änderung der Konfiguration keine Synchronisierung erfolgt.

Der Cluster kann also nur eine Konfigurationsinformation haben, die von allen Knoten gemeinsam genutzt wird. Oracle RAC verwendet OCR-Disk-Dateien, um Amnesie zu lösen.

OCR-Datenträger können nur vom Master-Knoten geändert werden. Jeder Knoten hat eine Kopie im OCR-Cache-Speicher. Wenn ein Knoten die OCR-Festplatte ändern möchte, fordert er den Master-Knoten an, und der OCR-Prozess auf diesem Knoten aktualisiert den lokalen und anderen Knoten-OCR-Cache-Inhalt. OCR Disk wird regelmäßig alle paar Stunden gesichert.

Voting Disk: Split Brain

Split Brain: Die Knoten im Cluster nutzen die Heartbeat-Erkennung, um zu erkennen, ob die andere Partei gut funktioniert. Wenn es ein Problem mit dem Heartbeat gibt, gehen beide Knoten davon aus, dass die andere Partei einen Fehler gemacht hat , und sie werden um die ausschließliche Nutzung der Daten bitten. Dadurch wird die Datenkonsistenz zerstört.

Voting Disk wird verwendet, um den Status von Mitgliedern zwischen Knoten aufzuzeichnen. Wenn ein Split-Brain auftritt, wird derjenige mit der höchsten Stimmenzahl ausgewählt, um die Kontrolle zu erlangen, und andere Knoten werden rausgeschmissen.

IO-Isolation: Der rausgeschmissene Knoten kann nicht mehr auf Daten zugreifen, daher ist eine IO-Isolation erforderlich. Der Mechanismus von Oracle RAC besteht darin, den ausgefallenen Knoten neu zu starten.

Cache Fusion Lock

Datenbankdateien werden gemeinsam genutzt, und Cache Fusion Lock löst die Speicherfreigabe und gleichzeitige Zugriffskontrolle außerhalb der Clusterebene.

Vier Arten von Netzwerken

1.Öffentliches Netzwerk: Verwenden Sie öffentliche IP, um externe Datenabfragen, Datenbankwartung und Serverwartung bereitzustellen.

2.Virtuelles Netzwerk: Verwenden Sie virtuelle IP, um eine Anwendungsverbindung bereitzustellen, und die Anwendung verwendet diese IP.

Im TCP/IP-Protokoll enthält der TCP-Header die Quell- und Ziel-Ports, der IP-Header enthält die Quell- und Ziel-IPs und der Datenbankmonitor der Anwendungsschicht zeichnet die IP und den Port auf. Wenn das TCP-Timeout abläuft, ist dies bekannt dass ein Problem mit der Datenbank oder dem Monitor vorliegt. Die Zeitüberschreitung des TCP/IP-Protokollstapels wird vom Betriebssystem bestimmt und jedes Betriebssystem hat unterschiedliche Definitionen. Um die Zeit zum Erkennen von Fehlern zu verkürzen, verwendet Oracle RAC VIP. Die virtuelle IP ist schwebend und nicht an die physische Netzwerkkarte gebunden. Wenn ein Knoten ausfällt, wird die VIP in der Überwachung des guten Knotens nicht gefunden und wechseln Sie zu „Andere VIPs senden Verbindungsanfragen“.

3.Privates Netzwerk: Verwenden Sie private IP für die RAC-Heartbeat-Erkennung und Cache Fusion Lock, was eine hohe Geschwindigkeit erfordert.

4. Speichernetzwerk: bestehend aus Speichergeräten, HBA-Karten und FC-Netzwerken.

Oracle Clusterware

Auf einem einzelnen Computer kann nur das Betriebssystem Anforderungen der oberen Ebene verarbeiten. Wenn jedoch mehrere Computer vorhanden sind, fängt die Clusterverwaltungssoftware Oracle Clusterware Anforderungen für andere Knoten vor dem Betriebssystemkern ab und kommuniziert mit dem Clusterware von andere Knoten, um die Anforderungen abzuschließen.

Anwendungsschicht: RDBMS

Die Anwendungsschicht besteht aus mehreren CRS-Ressourcen. Jede Ressource ist ein vollständiger Dienst, der aus mehreren Prozessen besteht. LMON (Lock Monitor) überwacht die CRS-Ressource und startet neu und schaltet um, wenn eine Anomalie auftritt, um die hohe Verfügbarkeit des Oracle RAC-Dienstes sicherzustellen.

Cache Fusion

Cache Fusion kann wörtlich verstanden werden – Cache Fusion verwaltet tatsächlich den Cache jedes Knotens auf einheitliche Weise, wodurch vermieden wird, dass die Festplatte jedes Mal bedient werden muss, wenn sie gelesen wird, und die E/A-Leistung beschleunigt wird. Da das private Netzwerk sehr schnell ist, ist es schneller als das Lesen der Festplatte. Zeit, Datenblöcke von verschiedenen Orten zu lesen:

  • Lokaler Cache: 0,01 ms
  • Netzwerkzugriff auf anderen Knoten-Cache: 2,5 ms
  • Festplatte: 14 ms. Mit SSD- oder All-Flash-Arrays auf der Speicherseite liegt die Latenz jedoch bei etwa 1 ms. Beim All-Flash-Array ist Cache Fusion also wahrscheinlich bedeutungslos.

Cache Fusion wird über GCS (Global Cache Service) verwaltet, der Ihren Cache als einen großen Cache behandelt.

Lese-Cache-Prozess

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Schreib-Cache-Prozess

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Schreibfestplatten-Prozess

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Lastausgleich

Wenn Benutzer verschiedene Anforderungen wie RAC initiieren, ist der Lastausgleich dafür verantwortlich, die Aufgaben gleichmäßig auf verschiedene Maschinen zu verteilen Vorgesetzter.

Verteilung nach Benutzer

Ist es eine zufällige Auswahl aus mehreren Maschinen? NEIN! Das ist zu niedrig. RAC weist Aufgaben dynamisch basierend auf dem Status jeder Maschine zu. Wenn die Datenbank ausgeführt wird, werden die Ladeinformationen des PMON-Hintergrundprozessknotens beim Listener registriert und alle 1–10 Minuten aktualisiert. Der Listener jedes Knotens kennt den Auslastungsstatus aller Knoten und sendet Client-Anfragen an den am stärksten ausgelasteten Knoten.

Zuweisung nach Dienst

Die Zuweisung nach Benutzer hat den Nachteil, dass Cache Fusion dadurch möglicherweise ausgelastet ist. Da RAC-Knotendaten gemeinsam genutzt werden, synchronisiert jeder die Daten über Cache Fusion. Die Leistung von RAC wird weitgehend durch die Leistung von Cache Fusion begrenzt. Entweder wird das private Netzwerk leistungsfähiger gemacht, beispielsweise durch die Verwendung von teurem InfiniBand, oder die andere Möglichkeit besteht darin, den Datenverkehr von Cache Fusion zu reduzieren, wodurch tatsächlich die Abhängigkeit zwischen Knoteninstanzen verringert wird. Der Mechanismus der Zuordnung nach Nutzern ist für die nachfolgenden Lösungen nicht förderlich.

Daher unterstützt RAC die Zuordnung von Knoten nach Diensten. Beispielsweise werden unterschiedliche Knoten für Produktion und Vertrieb verwendet. Ihre eigenen Daten befinden sich in Ihrem eigenen Cache, sodass Sie nicht auf andere Knoten zugreifen müssen. Die Leistung wird verbessert.

Drei Arten von Clustern

  • Lastausgleichscluster: Weisen Sie Anforderungen gemäß einem bestimmten Algorithmus verschiedenen Mitgliedern zu.
  • Hochleistungscluster (HPC, High Performance Cluster): eine fantastische Maschine, die aus spezialisierter Software und Hardware wie Vektorprozessoren besteht , Computing Leistungsstarke Leistung, super teuer, wie Tianhe Computer;
  • Cluster mit hoher Zuverlässigkeit (HAC: High Available Cluster, Failover Cluster): Sehr gute Zuverlässigkeit, starke Fehlertoleranz von Hardware und Software, Datenbankcluster für den täglichen Gebrauch fallen in diese Kategorie.

Hochzuverlässiger Cluster

Dual-Machine-Hot-Standby

Normalerweise ist einer von ihnen im Leerlauf und im Standby-Modus. Wenn der funktionierende Cluster ausfällt, übernimmt der andere.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
Dual-Machine-Backup

Normalerweise erledigen beide Maschinen ihre eigene Arbeit, es müssen jedoch einige Ressourcen reserviert werden, denn wenn einer ausfällt, muss der andere die Arbeit von zwei Personen erledigen.
Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
Doppelmaschinen-Duplex

Zum Beispiel:

Der Chef verkauft normalerweise gemeinsam ein Geschäft, und der zweite Bruder verkauft hauptsächlich Sojamilch , der zweite Bruder verkauft wieder Dampfbrötchen und dann wieder Dampfbrötchen Sojamilch, dem zweiten Kind geht es nicht mehr, also verkauft der Chef Dampfbrötchen und Sojamilch.

Baozi-Sojamilch besteht aus Daten, die sich umeinander kümmern, nennt man Heartbeat-Erkennung, und die Übernahme der Arbeit des anderen nennt man Failover. Wenn zwei Brüder plötzlich blind und taub sind und nicht wissen, ob der andere gerade arbeitet, und beide denken, sie müssten die Arbeit des anderen übernehmen, spricht man von Split Brain und dann einem Dritten, etwa dem Vater , ist erforderlich, um das Problem zu lösen, oder ihre beiden Frauen zu bitten, eine von ihnen mitzunehmen. Dies wird als IO-Isolation bezeichnet. Oracle RAC gehört zu dieser Kategorie mit der besten Leistung und dem komplexesten System.

Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC

Empfohlenes Tutorial: „Oracle Learning Tutorial

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen