Data Guard-Beobachter in der Google CloudCompute 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/hostsauf 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_profilehinzu, 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.oradie 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 - mkstorewird 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ür- mkstorefordert 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 - sqlplusdirekt 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 - SUCCESSmarkiert 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 Konfigurationsstatus- SUCCESSlautet, 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