Ausführliche Erläuterung der klassischen Oracle-Fähigkeiten RAC
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.
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.
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.
Der Unterschied zwischen Oracle RAC und einem einzelnen Datenbankserver
Wie unten gezeigt, besteht der Hauptunterschied darin, dass RAC eine Cluster-Datenbank ist und über Cluster-Software verwaltet wird.
Oracle RAC-Hardwarearchitektur
Um 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.
Oracle RAC-Softwarearchitektur
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.
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.
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.
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
Schreib-Cache-Prozess
Schreibfestplatten-Prozess
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.
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.
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.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Startsequenz der Oracle-Datenbank ist: 1. Überprüfen Sie die Voraussetzungen. 3. Starten Sie die Datenbankinstanz. 6. Überprüfen Sie den Datenbankstatus . Aktivieren Sie den Dienst (falls erforderlich). 8. Testen Sie die Verbindung.

Der Aufbewahrungszeitraum von Oracle-Datenbankprotokollen hängt vom Protokolltyp und der Konfiguration ab, einschließlich: Redo-Protokolle: Wird durch die maximale Größe bestimmt, die mit dem Parameter „LOG_ARCHIVE_DEST“ konfiguriert wird. Archivierte Redo-Protokolle: Bestimmt durch die maximale Größe, die durch den Parameter „DB_RECOVERY_FILE_DEST_SIZE“ konfiguriert wird. Online-Redo-Logs: nicht archiviert, gehen beim Neustart der Datenbank verloren und der Aufbewahrungszeitraum stimmt mit der Instanzlaufzeit überein. Audit-Protokoll: Wird durch den Parameter „AUDIT_TRAIL“ konfiguriert und standardmäßig 30 Tage lang aufbewahrt.

Die von Oracle benötigte Speichermenge hängt von der Datenbankgröße, dem Aktivitätsniveau und dem erforderlichen Leistungsniveau ab: zum Speichern von Datenpuffern, Indexpuffern, zum Ausführen von SQL-Anweisungen und zum Verwalten des Datenwörterbuch-Cache. Die genaue Menge hängt von der Datenbankgröße, dem Aktivitätsgrad und dem erforderlichen Leistungsniveau ab. Zu den Best Practices gehören das Festlegen der geeigneten SGA-Größe, die Dimensionierung von SGA-Komponenten, die Verwendung von AMM und die Überwachung der Speichernutzung.

Oracle kann DBF-Dateien durch die folgenden Schritte lesen: Erstellen Sie eine externe Tabelle und verweisen Sie auf die DBF-Datei.

Anforderungen an die Hardwarekonfiguration des Oracle-Datenbankservers: Prozessor: Multi-Core, mit einer Hauptfrequenz von mindestens 2,5 GHz. Für große Datenbanken werden 32 Kerne oder mehr empfohlen. Speicher: Mindestens 8 GB für kleine Datenbanken, 16–64 GB für mittelgroße Datenbanken, bis zu 512 GB oder mehr für große Datenbanken oder hohe Arbeitslasten. Speicher: SSD- oder NVMe-Festplatten, RAID-Arrays für Redundanz und Leistung. Netzwerk: Hochgeschwindigkeitsnetzwerk (10 GbE oder höher), dedizierte Netzwerkkarte, Netzwerk mit geringer Latenz. Sonstiges: Stabile Stromversorgung, redundante Komponenten, kompatibles Betriebssystem und Software, Wärmeableitung und Kühlsystem.

Die für eine Oracle-Datenbank erforderliche Speichermenge hängt von der Datenbankgröße, dem Workload-Typ und der Anzahl gleichzeitiger Benutzer ab. Allgemeine Empfehlungen: Kleine Datenbanken: 16–32 GB, mittlere Datenbanken: 32–64 GB, große Datenbanken: 64 GB oder mehr. Weitere zu berücksichtigende Faktoren sind die Datenbankversion, Speicheroptimierungsoptionen, Virtualisierung und Best Practices (Speichernutzung überwachen, Zuweisungen anpassen).

Um in Oracle eine geplante Aufgabe zu erstellen, die einmal täglich ausgeführt wird, müssen Sie die folgenden drei Schritte ausführen: Erstellen Sie einen Job. Fügen Sie dem Job einen Unterjob hinzu und legen Sie seinen Zeitplanausdruck auf „INTERVALL 1 TAG“ fest. Aktivieren Sie den Job.

Der Speicherbedarf der Oracle-Datenbank hängt von den folgenden Faktoren ab: Datenbankgröße, Anzahl aktiver Benutzer, gleichzeitige Abfragen, aktivierte Funktionen und Systemhardwarekonfiguration. Zu den Schritten zur Bestimmung des Speicherbedarfs gehören die Bestimmung der Datenbankgröße, die Schätzung der Anzahl aktiver Benutzer, das Verständnis gleichzeitiger Abfragen, die Berücksichtigung aktivierter Funktionen und die Untersuchung der Systemhardwarekonfiguration.
