Data Guard-Beobachter in Google Cloud Compute Engine einrichten
Abhängig von Ihren Hochverfügbarkeitsanforderungen können Sie das Failover zwischen Datenbanken automatisieren. Nachdem Sie Ihre Data Guard-Bereitstellung validiert haben, können Sie zu diesem Zweck einen Data Guard-Beobachter in Compute Engine einrichten. Ein Beobachter ist ein Prozess, der eine Data Guard-Konfiguration überwacht, um einen automatischen Failover zu initiieren, wenn dies erforderlich ist.
In diesem Leitfaden wird beschrieben, wie Sie den Client der Oracle 19c-Datenbank auf einer virtuellen Beobachtermaschine (VM) installieren und das Fast-Start-Failover konfigurieren.
Die folgenden Beispiele werden in diesem Leitfaden verwendet:
Eindeutiger Name der Datenbank | Server-Hostnamen | RAC-Instanznamen | Rolle |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Primär |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Standby |
Clientsoftware der Oracle-Datenbank installieren
Erstellen Sie eine virtuelle Maschine (VM) in Compute Engine, die die folgenden Kriterien erfüllt:
Betriebssystem. Red Hat Enterprise Linux 7.
Netzwerk. Ein Subnetz mit Firewallregeln, die den Zugriff von Ihrer Virtual Private Cloud auf die Bare-Metal-Lösungshosts zulassen, die die primäre Datenbank und die Standby-Datenbank ausführen.
Storage. – Mindestens 20 GB dem Bootlaufwerk zugewiesen.
Melden Sie sich bei der VM an und prüfen Sie, ob der SCAN-Hostname jedes Datenbankclusters in DNS aufgelöst wird:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Wenn die Hostnamen nicht aufgelöst werden, fügen Sie die IP-Adressen für jeden SCAN-Hostnamen zur Datei
/etc/hosts
auf der VM hinzu. Ersetzen Sie die Beispiel-IP-Adressen durch die IP-Adressen für jeden Cluster:# Site 1 SCAN Hosts 192.0.2.10 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.11 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.12 DBDG_SITE1_SCAN_HOSTNAME # Site 2 SCAN Hosts 198.51.100.10 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.11 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.12 DBDG_SITE2_SCAN_HOSTNAME
Installieren Sie die Oracle-Datenbank-RPM. Installieren Sie nur die Software. Es ist nicht erforderlich, eine Datenbank auf der Beobachter-VM zu konfigurieren.
Die Oracle-Datenbank-RPM-Software wird in einem vordefinierten Verzeichnis installiert. Fügen Sie die folgenden Einträge zu
/home/oracle/.bash_profile
hinzu, um das Home-Verzeichnis der Oracle-Software dem Pfad hinzuzufügen:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOL
Ermitteln Sie die Oracle-Umgebungsvariablen in Ihrer Terminalsitzung:
source ~/.bash_profile
Datenbankverbindung konfigurieren
Konfigurieren Sie die Oracle-Net-Einstellungen in der Datei
$ORACLE_HOME/network/admin/tsnames.ora
:DBDG_SITE1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE1_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE1) (UR=A) ) ) DBDG_SITE2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE2_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE2) (UR=A) ) )
Oracle Database Version 12.2 und höher unterstützt die Ausführung des Beobachters im Hintergrundmodus. Dazu muss eine Wallet erstellt werden, um eine passwortlose Authentifizierung bei der Datenbank durchzuführen. Melden Sie sich als Oracle-Nutzer auf der Beobachter-VM an und führen Sie die folgenden Aufgaben aus, um eine Wallet zu erstellen:
Fügen Sie
$ORACLE_HOME/network/admin/sqlnet.ora
die folgenden Einträge hinzu:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
Erstellen Sie das Wallet-Verzeichnis auf der VM, auf der der Beobachter gehostet wird:
mkdir /home/oracle/wallet
Initialisieren Sie die Wallet und geben Sie ein Passwort ein, wenn Sie dazu aufgefordert werden:
mkstore -wrl /home/oracle/wallet -create
Erstellen Sie in der Data Guard-Konfiguration für jede Datenbank einen Eintrag. Mit dem Befehl
mkstore
wird das SYS-Passwort für die Datenbank angefordert, gefolgt vom Wallet-Passwort aus dem vorherigen Schritt:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Prüfen Sie, ob die Wallet die Anmeldedaten für jede Datenbank in der Data Guard-Konfiguration enthält. Das
-listCredential
-Argument fürmkstore
fordert das Wallet-Passwort an:mkstore -wrl /home/oracle/wallet -listCredential
Melden Sie sich als Oracle bei der Beobachter-VM an und testen Sie dann die Konnektivität zu den primären und Standby-Datenbanken. Stellen Sie mit den SQL-Anmeldedaten eine Verbindung zu den primären und sekundären Datenbanken mit SQL*Plus her:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Wenn die Wallet-Konfiguration erfolgreich ist, meldet sich der Befehl
sqlplus
direkt bei der Datenbank an, ohne ein Passwort anzufordern.
Failover für Schnellstart konfigurieren und aktivieren
Erstellen Sie ein Verzeichnis zum Speichern der Konfigurations- und Protokolldateien des Beobachter:
mkdir /home/oracle/fsfo
Stellen Sie über die Wallet eine Verbindung zum Data Guard-Broker in der primären Datenbank her:
dgmgrl CONNECT /@DBDG_SITE1;
Prüfen Sie den Data Guard-Status, um zu festzustellen, ob die Konfiguration als
SUCCESS
markiert ist:SHOW CONFIGURATION;
Aktivieren Sie das Fast-Start-Failover (FSFO):
ENABLE FAST_START FAILOVER;
Durch Aktivieren von FSFO ist die Konfiguration nicht für ein automatisches Failover bereit. Für das automatische Failover ist ein Beobachter erforderlich.
Starten Sie den Data Guard-Beobachter:
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';
Prüfen Sie in einer separaten Terminalsitzung die Konfiguration:
SHOW CONFIGURATION VERBOSE;
Das folgende Beispiel zeigt den ausführlichen Modus des Befehls
show configuration
. Wenn der KonfigurationsstatusSUCCESS
lautet, ist die Einrichtung abgeschlossen.Configuration - DBDG Protection Mode: MaxAvailability Members: DBDG_SITE1 - Primary database DBDG_SITE2 - Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '45' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'DBDG_CFG' Fast-Start Failover: Enabled in Potential Data Loss Mode Lag Limit: 45 seconds Threshold: 30 seconds Active Target: DBDG_SITE2 Potential Targets: "DBDG_SITE2" DBDG_SITE2 valid Observer: observer1 Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS