Implementieren von Oracle Data Guard auf einem Linux-basierten virtuellen Azure-Computer

Gilt für: ✔️ Virtuelle Linux-Computer

Sie können die Azure-Befehlszeilenschnittstelle (Azure CLI) verwenden, um Azure-Ressourcen über die Befehlszeile oder mit Skripts zu erstellen und zu verwalten. In diesem Artikel wird beschrieben, wie Sie Skripts in der Azure CLI verwenden, um eine Oracle Database 19c Release 3-Datenbank aus einem Azure Marketplace-Image bereitzustellen. Anschließend wird in diesem Artikel Schritt für Schritt gezeigt, wie Sie Data Guard auf einem virtuellen Azure-Computer (VM) installieren und konfigurieren. Um die Umgebung zu schützen, sind keine Ports öffentlich zugänglich, und eine Azure Bastion-Instanz wird Zugriff auf die Oracle-VMs ermöglichen.

Stellen Sie sicher, dass die Azure CLI installiert ist, bevor Sie beginnen. Weitere Informationen finden Sie im Azure CLI-Installationshandbuch.

Vorbereiten der Umgebung

Annahmen

Für die Installation von Oracle Data Guard müssen Sie zwei Azure-VMs in derselben Verfügbarkeitsgruppe erstellen:

  • Der primäre virtuelle Computer (OracleVM1) verfügt über eine ausgeführte Oracle-Instanz.
  • Auf der Standby-VM (OracleVM2) ist nur die Oracle-Software installiert.

Das Azure Marketplace-Image, das Sie zum Erstellen der VMs verwenden, ist Oracle:oracle-database-19-3:oracle-database-19-0904:latest.

Hinweis

Achten Sie auf Versionen, die das Ende der Lebensdauer (End of Life, EOL) erreicht haben und von Red Hat nicht mehr unterstützt werden. Hochgeladene Images, die EOL oder darüber hinaus sind, werden mit einem angemessenen geschäftlichen Aufwand unterstützt. Weitere Informationen finden Sie auf der Red Hat-Webseite für Produktlebenszyklus.

Anmelden bei Azure

Melden Sie sich mit dem Befehl az login bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.

az login

Festlegen von Umgebungsvariablen

Passen Sie die LOCATION-Variable für Ihre Umgebung an:

LOCATION=eastus
RESOURCE_GROUP="Oracle-Lab"
VM_USERNAME="azureuser"
VM_PASSWORD="OracleLab123"
VNET_NAME="${RESOURCE_GROUP}VNet"

Aktivieren der Azure Bastion-Erweiterung

Schließen Sie die Azure Bastion-Erweiterung in die Azure CLI ein:

az extension add \
  --name bastion

Erstellen einer Ressourcengruppe

Erstellen Sie mit dem Befehl az group create eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

Erstellen eines virtuellen Netzwerks mit zwei Subnetzen

Erstellen Sie ein virtuelles Netzwerk, in dem Sie alle Compute-Dienste verbinden. Ein Subnetz hostet Azure Bastion, einen Azure-Dienst, der hilft, Ihre Datenbanken vor öffentlichem Zugriff zu schützen. Im zweiten Subnetz werden die zwei Oracle-Datenbank-VMs gehostet.

Erstellen Sie auch eine Netzwerksicherheitsgruppe, auf die alle Dienste verweisen, um zu bestimmen, welche Ports öffentlich verfügbar gemacht werden. Nur Port 443 wird verfügbar gemacht. Der Azure Bastion-Dienst öffnet diesen Port automatisch, wenn Sie diese Instanz erstellen.

az network vnet create \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --name $VNET_NAME \
  --address-prefix "10.0.0.0/16"
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --name AzureBastionSubnet \
  --vnet-name $VNET_NAME \
  --address-prefixes 10.0.0.0/24
az network vnet subnet create \
  --resource-group $RESOURCE_GROUP \
  --name OracleSubnet \
  --vnet-name $VNET_NAME \
  --address-prefixes 10.0.1.0/24
az network nsg create \
  --name OracleVM-NSG \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION

Verfügbarkeitsgruppe erstellen

Die Erstellung einer Verfügbarkeitsgruppe ist optional, wird jedoch empfohlen. Weitere Informationen finden Sie im Leitfaden zu Azure-Verfügbarkeitsgruppen.

az vm availability-set create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVMAvailabilitySet \
  --platform-fault-domain-count 2 \
  --platform-update-domain-count 2

Erstellen von zwei virtuellen Computern

Erstellen Sie mit dem Befehl az vm create zwei VMs. Im folgenden Beispiel werden virtuelle Computer (OracleVM1 und OracleVM2) erstellt.

Erstellen von OracleVM1 (primär):

az vm create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVM1 \
  --availability-set OracleVMAvailabilitySet \
  --image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
  --size Standard_DS1_v2 \
  --authentication-type password \
  --admin-username $VM_USERNAME \
  --admin-password $VM_PASSWORD \
  --vnet-name $VNET_NAME \
  --subnet OracleSubnet \
  --nsg OracleVM-NSG \
  --os-disk-size-gb 32

Erstellen von OracleVM2 (Standby):

az vm create \
  --resource-group $RESOURCE_GROUP \
  --name OracleVM2 \
  --availability-set OracleVMAvailabilitySet \
  --image Oracle:oracle-database-19-3:oracle-database-19-0904:latest \
  --size Standard_DS1_v2 \
  --authentication-type password \
  --admin-username $VM_USERNAME \
  --admin-password $VM_PASSWORD \
  --vnet-name $VNET_NAME \
  --subnet OracleSubnet \
  --nsg OracleVM-NSG \
  --os-disk-size-gb 32

Erstellen der Azure Bastion-Dienstinstanz

Azure Bastion bietet einen sicheren Tunnel für alle Dienste, die im virtuellen Netzwerk gehostet werden. Es dient als Jump Box, um den direkten Zugriff auf Ihre Oracle-Datenbanken zu vermeiden.

Erstellen Sie eine öffentliche IP-Adresse für den Zugriff auf den Azure Bastion-Dienst:

az network public-ip create \
  --resource-group $RESOURCE_GROUP \
  --name OracleLabBastionPublicIP \
  --sku Standard

Erstellen Sie die Azure Bastion-Dienstinstanz:

az network bastion create \
  --location $LOCATION \
  --name OracleLabBastion \
  --public-ip-address OracleLabBastionPublicIP \
  --resource-group $RESOURCE_GROUP \
  --vnet-name $VNET_NAME \
  --sku basic

Verbinden mit dem virtuellen Computer

Nun greifen Sie über das OracleVM1Azure-Portal auf den Azure Bastion-Dienst zu.

Geben Sie im Suchfeld oben im Fenster OracleVM1 ein. Wählen Sie in der Ergebnisliste OracleVM1 aus, um diese VM zu öffnen.

Screenshot: Suchfeld und Ergebnisse für die erste Oracle-VM

Wählen Sie oben im Bereich Verbinden>Bastion aus.

Screenshot: Auswahl zum Herstellen einer Verbindung über Azure Bastion

Geben Sie Benutzername und Kennwort ein, und klicken Sie auf die Schaltfläche Verbinden.

Screenshot: Eingabe der Anmeldedaten für die Verbindungsherstellung über Azure Bastion

Eine neue Registerkarte mit einer sicheren Verbindung mit Ihrem virtuellen Computer wird geöffnet, auf dem die Oracle-Software bereits von einem Azure Marketplace-Image installiert ist.

Screenshot: Verbindungsherstellung über Azure Bastion in einem Browser

Konfigurieren von OracleVM1 (primär)

Deaktivieren Sie die Firewall:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Legen Sie das oracle-Benutzerkennwort fest:

sudo passwd oracle

Geben Sie das azureuser-Kennwort ein: OracleLab123.

Ändern Sie das Benutzerkennwort oracle in OracleLab123. (Geben Sie es zum Verifizieren erneut ein.)

Erstellen der Datenbank unter OracleVM1 (primär)

Die Oracle-Software ist bereits auf dem Azure Marketplace-Image installiert, daher umfasst der nächste Schritt das Installieren der Datenbank.

Wechseln Sie zum Oracle-Superbenutzer:

sudo su - oracle

Erstellen Sie die Datenbank:

dbca -silent \
   -createDatabase \
   -datafileDestination /u01/app/oracle/cdb1 \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OracleLab123 \
   -systemPassword OracleLab123 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OracleLab123 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS

Die Ausgaben sollten etwa wie folgt aussehen:

Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.

Legen Sie die Variablen ORACLE_SID und ORACLE_HOME fest:

$ ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
$ ORACLE_SID=cdb1; export ORACLE_SID

Optional können Sie ORACLE_HOME und ORACLE_SID zur Datei /home/oracle/.bashrc hinzufügen, damit diese Einstellungen für zukünftige Anmeldungen gespeichert werden:

# add oracle home
export ORACLE_HOME= /u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1

Konfigurieren von Data Guard

Aktivieren des Protokollmodus ARCHIVELOG in myVM1 (primär)

Aktivieren Sie den Protokollmodus:

sqlplus / as sysdba
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

Aktivieren Sie die Erzwingung der Protokollierung, und stellen Sie sicher, dass mindestens eine Protokolldatei vorhanden ist:

SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER SYSTEM SWITCH LOGFILE;

Erstellen Sie Standby-Wiederholungsprotokolle, und legen Sie die gleiche Größe und Menge wie für die Wiederholungsprotokolle der primären Datenbank fest:

SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo01.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo02.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo03.log') SIZE 200M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/cdb1/standby_redo04.log') SIZE 200M;

Aktivieren Sie Flashback (um die Wiederherstellung deutlich zu vereinfachen), und legen Sie STANDBY_FILE_MANAGEMENT auf AUTO fest. Beenden Sie danach SQL*Plus.

SQL> ALTER SYSTEM SET db_recovery_file_dest_size=50G scope=both sid='*';
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/cdb1' scope=both sid='*';
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=BOTH;
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> EXIT;

Einrichten des Diensts auf OracleVM1 (primär)

Bearbeiten oder erstellen Sie die Datei tnsnames.ora im Ordner $ORACLE_HOME\network\admin.

Fügen Sie die folgenden Einträge hinzu:

cdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )
cdb1_stby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )

Bearbeiten oder erstellen Sie die Datei listener.ora im Ordner $ORACLE_HOME\network\admin.

Fügen Sie die folgenden Einträge hinzu:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = cdb1_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = cdb1)
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle

Aktivieren Sie Data Guard Broker:

sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> CREATE pfile FROM spfile;
SQL> EXIT;

Kopieren Sie die Parameterdatei auf den Standbyserver:

scp -p $ORACLE_HOME/dbs/initcdb1.ora oracle@OracleVM2:$ORACLE_HOME/dbs/

Starten Sie den Listener:

 lsnrctl stop
 lsnrctl start

Einrichten des Diensts auf OracleVM2 (Standby)

Kehren Sie zum Azure-Portal zurück. Suchen Sie nach OracleVM2, und wählen Sie dann die Ressource in der Ergebnisliste aus.

Screenshot: Suchfeld und Ergebnisse für die zweite Oracle VM.

Wählen Sie oben im Bereich Verbinden>Bastion aus.

Screenshot: Auswahl zum Herstellen einer Verbindung über Azure Bastion

Geben Sie Benutzername und Kennwort ein, und klicken Sie auf die Schaltfläche Verbinden.

Screenshot: Eingeben von Anmeldeinformationen (Benutzername und Kennwort) zum Verbinden über Azure Bastion.

Deaktivieren der Firewall in OracleVM2 (Standby)

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Konfigurieren der Umgebung für OracleVM1

Legen Sie das oracle-Benutzerkennwort fest:

sudo passwd oracle

Geben Sie das azureuser-Kennwort ein: OracleLab123.

Ändern Sie das Benutzerkennwort oracle in OracleLab123. (Geben Sie es zum Verifizieren erneut ein.)

Wechseln Sie zum oracle-Superuser:

$ sudo su – oracle

Legen Sie die Variablen ORACLE_SID und ORACLE_HOME fest:

ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=cdb1; export ORACLE_SID

Optional können Sie ORACLE_HOME und ORACLE_SID zur Datei /home/oracle/.bashrc hinzufügen, damit diese Einstellungen für zukünftige Anmeldungen gespeichert werden:

# add oracle home
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1

Bearbeiten oder erstellen Sie die Datei tnsnames.ora im Ordner $ORACLE_HOME\network\admin.

Fügen Sie die folgenden Einträge hinzu:

cdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )
cdb1_stby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cdb1)
    )
  )

Bearbeiten oder erstellen Sie die Datei listener.ora im Ordner $ORACLE_HOME\network\admin.

Fügen Sie die folgenden Einträge hinzu:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleVM2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = cdb1_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = cdb1)
    )
  )
ADR_BASE_LISTENER = /u01/app/oracle

Starten Sie den Listener:

 lsnrctl stop
 lsnrctl start

Wiederherstellen der Datenbank auf „OracleVM2“ (Standby)

Erstellen Sie die Parameterdatei /tmp/initcdb1_stby.ora mit folgenden Inhalten:

*.db_name='cdb1'

Erstellen Sie die Ordner:

$ mkdir -p /u01/app/oracle/cdb1
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdbseed
$ mkdir -p /u01/app/oracle/oradata/cdb1/pdb1
$ mkdir -p /u01/app/oracle/fast_recovery_area/cdb1
$ mkdir -p /u01/app/oracle/admin/cdb1/adump

Erstellen Sie eine Kennwortdatei:

$ orapwd file=/u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwcdb1 password=OracleLab123 entries=10 force=y

Starten Sie die Datenbank auf OracleVM2:

 export ORACLE_SID=cdb1
 sqlplus / as sysdba
SQL> CREATE spfile from pfile;
SQL> STARTUP NOMOUNT PFILE='/tmp/initcdb1_stby.ora';
SQL> EXIT;

Stellen Sie die Datenbank mithilfe des RMAN-Tools (Oracle Recovery Manager) wieder her:

$ rman TARGET sys/OracleLab123@cdb1 AUXILIARY sys/OracleLab123@cdb1_stby

Führen Sie die folgenden Befehle in RMAN aus:

DUPLICATE TARGET DATABASE
  FOR STANDBY
  FROM ACTIVE DATABASE
  DORECOVER
  SPFILE
    SET db_unique_name='CDB1_STBY' COMMENT 'Is standby'
  NOFILENAMECHECK;

Meldungen, die den folgenden ähneln, werden angezeigt, wenn die Befehle abgeschlossen sind:

media recovery complete, elapsed time: 00:00:00
Finished recover at 29-JUN-22
Finished Duplicate Db at 29-JUN-22

Beenden Sie RMAN:

RMAN> EXIT;

Aktivieren Sie Data Guard Broker:

sqlplus / as sysdba
SQL> ALTER SYSTEM SET dg_broker_start=true;
SQL> EXIT;

Konfigurieren von Data Guard Broker auf „OracleVM1“ (primär)

Starten Sie Data Guard Manager, und melden Sie sich mithilfe von SYS und einem Kennwort an. (Verwenden Sie keine Betriebssystemauthentifizierung.)

$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> CREATE CONFIGURATION my_dg_config AS PRIMARY DATABASE IS cdb1 CONNECT IDENTIFIER IS cdb1;
Configuration "my_dg_config" created with primary database "cdb1"
DGMGRL> ADD DATABASE cdb1_stby AS CONNECT IDENTIFIER IS cdb1_stby MAINTAINED AS PHYSICAL;
Database "cdb1_stby" added
DGMGRL> ENABLE CONFIGURATION;
Enabled.

Überprüfen Sie die Konfiguration:

DGMGRL> SHOW CONFIGURATION;
Configuration - my_dg_config
  Protection Mode: MaxPerformance
  Members:
  cdb1      - Primary database
  cdb1_stby - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 26 seconds ago)

Sie haben die Einrichtung von Oracle Data Guard abgeschlossen. Im nächsten Abschnitt erfahren Sie, wie Sie die Konnektivität testen und wechseln.

Herstellen einer Verbindung mit der Datenbank über den Clientcomputer

Aktualisieren Sie auf Ihrem Clientcomputer die Datei tnsnames.ora. Diese Datei wird in der Regel im Verzeichnis $ORACLE_HOME\network\admin gespeichert.

cdb1=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=OracleVM1)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=cdb1)
    )
  )
cdb1_stby=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=OracleVM2)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=cdb1_stby)
    )
  )

Starten Sie SQL*Plus:

$ sqlplus sys/OraPasswd1@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

Testen der Data Guard-Konfiguration

Wechseln der Datenbank auf „OracleVM1“ (primär)

Wechseln Sie von primär zu Standby (cdb1 zu cdb1_stby):

$ dgmgrl sys/OracleLab123@cdb1
DGMGRL for Linux: Version 19.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1_stby;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1_stby"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1_stby" is opening...
Operation requires start up of instance "cdb1" on database "cdb1"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1_stby"
DGMGRL>

Sie können nun eine Verbindung mit der Standbydatenbank herstellen. Starten Sie SQL*Plus:

$ sqlplus sys/OracleLab123@cdb1_stby
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

Wechseln der Datenbank auf „OracleVM2“ (Standby)

Führen Sie zum Wechseln den folgenden Code auf OracleVM2 aus:

$ dgmgrl sys/OracleLab123@cdb1_stby
DGMGRL for Linux: Version 190.0.0.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDBA.
DGMGRL> SWITCHOVER TO cdb1;
Performing switchover NOW, please wait...
Operation requires a connection to instance "cdb1" on database "cdb1"
Connecting to instance "cdb1"...
Connected as SYSDBA.
New primary database "cdb1" is opening...
Operation requires start up of instance "cdb1" on database "cdb1_stby"
Starting instance "cdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "cdb1"

Sie sollten nun wieder eine Verbindung mit der primären Datenbank herstellen können. Starten Sie SQL*Plus:

$ sqlplus sys/OracleLab123@cdb1
SQL*Plus: Release 19.0.0.0 Production on Wed May 10 14:18:31 2022
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>

Sie haben die Installation und Konfiguration von Data Guard unter Oracle Linux beendet.

Löschen des virtuellen Computers

Wenn Sie die virtuellen Computer nicht mehr benötigen, können Sie mit dem folgenden Befehl die Ressourcengruppe, die virtuellen Computer und alle zugehörigen Ressourcen entfernen:

az group delete --name $RESOURCE_GROUP

Nächste Schritte