Oracle Database File System-(DBFS-)Replikation implementieren
Jede Replikation in Standby umfasst zwei Schritte in diesem Modell: vom Ursprungsordner der Primärdatenbank bis zum Zwischen-DBFS-Mount und dann auf der sekundären Site vom DBFS-Mount zum Zielordner der Standbydatenbank. Die Zwischenkopien werden mit rsync erstellt. Da es sich um eine lokale rsync-Kopie mit geringer Latenz handelt, werden mit diesem Modell einige Probleme vermieden, die bei einem Remote-rsync-Kopiervorgang auftreten.
Hinweis:
Diese Methode wird in Oracle Autonomous Database nicht unterstützt, da DBFS-Verbindungen nicht zulässig sind.replica-mid-tier-dbfs-oracle.zip
Die Implementierung des Mid-Tier-Replikats mit DBFS bietet folgende Vorteile:
- Diese Methode nutzt die Robustheit des Oracle Data Guard-Replikats.
- Der echte Mid-Tier-Speicher kann in den sekundären Knoten gemountet bleiben. Es gibt keine zusätzlichen Schritte, um den Speicher bei jedem Switchover- oder Failover-Vorgang im sekundären Speicher anzuhängen oder einzuhängen.
Bei der Implementierung des Mid-Tier-Replikats mit DBFS sind folgende Aspekte zu beachten:
- Für diese Methode ist eine Oracle Database mit Oracle Data Guard erforderlich.
- Die Mid-Tier-Hosts benötigen den Oracle Database-Client, um DBFS zu mounten.
- Die Verwendung von DBFS für die Replikation hat Auswirkungen auf das Setup, den Datenbankspeicher und den Lebenszyklus. Es erfordert eine Installation des Oracle Database-Clients auf den Mid-Tier-Hosts, eine bestimmte Datenbankwartung (um den Tabellenspeicher zu bereinigen, zu komprimieren und zu reduzieren) und ein gutes Verständnis für das Verhalten der DBFS-Mount Points.
- Die DBFS-Verzeichnisse können nur gemountet werden, wenn die Datenbank geöffnet ist. Wenn Oracle Data Guard kein Active Data Guard ist, befindet sich die Standbydatenbank im Mountzustand. Damit Sie auf den DBFS-Mount auf der sekundären Site zugreifen können, müssen Sie die Datenbank in eine Snapshot-Standbydatenbank konvertieren. Wenn Active Data Guard verwendet wird, kann das Dateisystem für Lesevorgänge gemountet werden, und es ist kein Übergang zu einem Snapshot erforderlich.
- Es wird nicht empfohlen, DBFS als allgemeine Lösung zu verwenden, um alle Artefakte (insbesondere Laufzeitdateien) in die Standbydatenbank zu replizieren. Die Verwendung von DBFS zum Replizieren der Binärdateien ist übertrieben. Dieser Ansatz eignet sich jedoch zum Replizieren einiger Artefakte, wie der Konfiguration, wenn andere Methoden wie die Speicherreplikation oder
rsyncnicht den Systemanforderungen entsprechen. - Es liegt in der Verantwortung des Benutzers, die benutzerdefinierten Skripte für jede Umgebung zu erstellen und regelmäßig auszuführen.
- Es liegt in der Verantwortung des Benutzers, eine Möglichkeit zur Umkehrung der Replikationsrichtung zu implementieren.
Replikation für Datenbankdateisystem einrichten
Diese Implementierung verwendet die rsync-Technologie und folgt dem Peer-to-Peer-Modell. In diesem Modell erfolgt die Kopie direkt zwischen den Middle Tier-Peer-Hosts. Jeder Knoten verfügt über SSH-Konnektivität zu seinem Peer und verwendet rsync-Befehle über SSH, um die primären Mid-Tier-Dateiartefakte zu replizieren.
Um ein Mid-Tier-Replikat mit DBFS zu implementieren, ist Folgendes erforderlich:
- Eine Oracle Database-Clientinstallation auf den Mid-Tier-Hosts, die den Kopiervorgang sowohl in der primären als auch in der sekundären Datenbank ausführen.
- Ein in der Datenbank erstelltes DBFS-Dateisystem.
- Ein DBFS-Mount auf den Mid-Tier-Hosts, der die Kopien sowohl in der primären als auch in der sekundären Datenbank durchführt. Dadurch wird das DBFS-Dateisystem der Datenbank gemountet. Dieses Dateisystem kann auf mehreren Hosts gemountet werden, da DBFS ein gemeinsam nutzbares Dateisystem ist.
- Skripte, mit denen die Mid-Tier-Dateiartefakte in den DBFS-Mount auf der primären Site kopiert werden.
- Skripte, mit denen die Mid-Tier-Dateiartefakte aus dem DBFS-Mount in die Ordner der sekundären Site kopiert werden. Je nach Implementierung erfordert diese Methode möglicherweise SQL*net-Konnektivität zwischen den Mid-Tier-Hosts und der Remotedatenbank für Datenbankvorgänge wie Rollenkonvertierungen.
- Eine Möglichkeit, die standortspezifischen Informationen zu verwalten, indem diese Informationen entweder aus der Kopie ausgeschlossen oder mit den entsprechenden Informationen nach dem Replikat aktualisiert werden.
- Planen Sie die fortlaufende Ausführung dieser Skripte.
- Ein Mechanismus zum Ändern der Richtung des Replikats nach einem Switchover oder Failover.
Hinweis:
Das folgende Beispiel gilt für Oracle WebLogic-Systeme. Sie können es als Referenz verwenden, um andere Ordner des Mid-Tier-Systems über DBFS zu kopieren. In diesem speziellen Beispiel wird jedoch ein Skript verwendet, das den Domainordner des WebLogic-Administrators über DBFS in den sekundären Ordner repliziert.In diesem Beispiel wird gezeigt, wie Sie den Domainordner des Administrationshosts WebLogic über DBFS replizieren. Der Inhalt, der sich außerhalb des Domainordners befindet, sowie der Inhalt auf anderen Hosts sind in diesem Beispiel nicht enthalten. Der Domainordner befindet sich nicht direkt in DBFS. Der DBFS-Mount ist nur ein Zwischenspeicherordner, in dem eine Kopie des Domainordners gespeichert wird.
Dieses Beispiel enthält ein Skript, um diese Aktionen auszuführen, die regelmäßig auf Primär- und Standbysites ausgeführt werden müssen. Dieses Skript kopiert den Ordner der WebLogic-Administrationsdomain und überspringt einige Elemente wie die Dateien tmp, .lck, .state und tnsnames.ora. Das Verfahren besteht aus:
- Wenn das Skript auf dem WebLogic-Administrationshost der primären Site ausgeführt wird, kopiert das Skript den Domainordner WebLogic in den DBFS-Ordner.
- Die in das DBFS kopierten Dateien, die in der Datenbank gespeichert sind, werden automatisch über Oracle Data Guard an die Standbydatenbank übertragen.
- Wenn das Skript auf dem Administrationshost WebLogic der Sekundärsite ausgeführt wird:
- Das Skript konvertiert die Standbydatenbank in eine Snapshot-Standbydatenbank.
- Anschließend wird das DBFS-Dateisystem aus der Standbydatenbank gemountet.
- Der replizierte Domainordner ist jetzt in diesem DBFS-Ordner verfügbar. Das Skript kopiert es aus dem DBFS-Mount in den echten Domainordner.
- Schließlich konvertiert das Skript die Standbydatenbank erneut in eine physische Standbydatenbank.
- Im Falle einer Rollenänderung passt das Skript die Ausführung automatisch an die neue Rolle an. Sie sammelt die tatsächliche Rolle der Site, indem sie die Datenbankrolle prüft.
Dieses Skript repliziert nur den Domainordner des Administrationshosts WebLogic. Der Inhalt unter dem Ordner DOMAIN_HOME/config wird automatisch auf alle anderen Knoten kopiert, die Teil der Domain WebLogic sind, wenn die Managed Server gestartet werden. Die Dateien außerhalb dieses Ordners und die Dateien auf anderen Hosts werden nicht repliziert und müssen separat synchronisiert werden.
Verwenden Sie für Anwendungs-Deploymentvorgänge die Deployment-Option Dateien hochladen in der WebLogic-Administrationskonsole. Auf diese Weise werden die bereitgestellten Dateien unter dem Uploadverzeichnis des Administrationsservers ($DOMAIN_HOME/servers/admin_server_name/upload) abgelegt, und das Konfigurationsreplikatskript synchronisiert sie mit der Standbysite.
In diesem Beispiel wird ein weiteres Skript zur Installation des DB-Clients und zur Konfiguration eines DBFS-Mounts auf den Mid-Tier-Hosts bereitgestellt. Das Image ist ein Beispiel für ein Oracle WebLogic Server for OCI-System mit DBFS-Replikation.
wls-dbfs-replication-oracle.zip
Führen Sie die folgenden Schritte aus, um die DBFS-Methode zum Replizieren der Domain WebLogic zu verwenden:
Replikation für Datenbankdateisystem validieren
Bei einem Switchover- oder Failover-Vorgang müssen die replizierten Informationen in der Standby Site verfügbar und verwendbar sein, bevor die Prozesse gestartet werden. Dies ist auch erforderlich, wenn Sie das sekundäre System validieren (durch Öffnen der Standbydatenbank im Snapshot-Modus).
In dieser Implementierung ist der Speicher immer in der Standbydatenbank verfügbar. Sie müssen kein Volume anhängen oder mounten. Die einzige Maßnahme, die Sie benötigen, ist sicherzustellen, dass sie die neueste Version des Inhalts enthält.
Um den replizierten Inhalt im Standby-Modus zu verwenden, gehen Sie wie folgt vor:
Laufende Replikation für Datenbankdateisystem ausführen
Führen Sie das Replikationsskript regelmäßig aus, um die sekundäre Domain mit der primären Domain synchron zu halten.
rsync von den Mid-Tier-Hosts verwenden:
- Verwenden Sie das Betriebssystem crontab oder ein anderes Planungstool, um die Replikation zu planen. Sie muss zulassen, dass die Skripte die Replikation abschließen. Andernfalls können sich die nachfolgenden Jobs überschneiden.
- Halten Sie die Mid-Tier-Prozesse in der Standby Site gestoppt. Wenn die Server in der Standby Site hochgefahren sind, während die Änderungen repliziert werden, werden die Änderungen beim nächsten Start wirksam. Starten Sie sie nur, wenn Sie die Standby Site validieren oder während des Switchover- oder Failover-Vorgangs.
- Verwalten Sie die spezifischen Informationen für jede Site, und halten Sie sie auf dem neuesten Stand. Beispiel: Überspringen Sie die
tnsnames.oraaus der Kopie, damit jedes System seine Konnektivitätsdetails aufweist. Wenn Sie eine Änderung in dertnsnames.orain der Primärdatenbank vornehmen (z.B. ein neuer Alias hinzufügen), aktualisieren Sie dietnsnames.orain der Sekundärdatenbank manuell entsprechend. - Nach einem Switchover oder Failover reverse die Replikatrichtung. Dies hängt von der konkreten Umsetzung ab. Die Skripte können eine dynamische Prüfung verwenden, um festzustellen, wer die aktive Site ist, oder Sie können nach einem Switchover oder Failover eine manuelle Änderung vornehmen (z.B. das Deaktivieren und Aktivieren der entsprechenden Skripte). Im angegebenen Beispiel passt das Skript
config_replica.shdie Ausführung automatisch an die tatsächliche Rolle der Site an, indem die Rolle der lokalen Datenbank geprüft wird.

