Implementowanie funkcji Oracle Data Guard na maszynie wirtualnej platformy Azure opartej na systemie Linux

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux

Interfejs wiersza polecenia platformy Azure może służyć do tworzenia zasobów platformy Azure i zarządzania nimi z poziomu wiersza polecenia lub skryptów. W tym artykule opisano sposób wdrażania bazy danych Oracle Database 19c Release 3 z obrazu Azure Marketplace za pomocą interfejsu wiersza polecenia platformy Azure. W tym artykule przedstawiono instrukcje krok po kroku dotyczące instalowania i konfigurowania funkcji Data Guard na maszynie wirtualnej platformy Azure. Aby ułatwić zabezpieczanie środowiska, żadne porty nie będą publicznie dostępne, a wystąpienie usługi Azure Bastion zapewni dostęp do maszyn wirtualnych Oracle.

Przed rozpoczęciem upewnij się, że interfejs wiersza polecenia platformy Azure jest zainstalowany. Aby uzyskać więcej informacji, zobacz przewodnik instalacji interfejsu wiersza polecenia platformy Azure.

Przygotowywanie środowiska

Założenia

Aby zainstalować program Oracle Data Guard, należy utworzyć dwie maszyny wirtualne platformy Azure w tym samym zestawie dostępności:

  • Podstawowa maszyna wirtualna (OracleVM1) ma uruchomione wystąpienie Oracle.
  • Maszyna wirtualna rezerwowa (OracleVM2) ma zainstalowane tylko oprogramowanie Oracle.

Obraz Azure Marketplace używany do tworzenia maszyn wirtualnych to Oracle:oracle-database-19-3:oracle-database-19-0904:latest.

Uwaga

Należy pamiętać o wersjach, które osiągnęły koniec życia (EOL) i nie są już obsługiwane przez system Red Hat. Przekazane obrazy, które znajdują się poza EOL, będą obsługiwane na podstawie rozsądnych wysiłków biznesowych. Aby uzyskać więcej informacji, zobacz stronę internetową red hat dotyczącą cykli życia produktów.

Logowanie do platformy Azure

Zaloguj się do subskrypcji platformy Azure przy użyciu polecenia az login i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

az login

Ustawianie zmiennych środowiskowych

Dostosuj zmienną LOCATION dla środowiska:

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

Włączanie rozszerzenia usługi Azure Bastion

Dołącz rozszerzenie usługi Azure Bastion do interfejsu wiersza polecenia platformy Azure:

az extension add \
  --name bastion

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener, w którym zasoby platformy Azure są wdrażane i zarządzane.

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

Tworzenie sieci wirtualnej z dwiema podsieciami

Utwórz sieć wirtualną, w której połączysz wszystkie usługi obliczeniowe. Jedna podsieć będzie hostować usługę Azure Bastion— usługę platformy Azure, która pomaga chronić bazy danych przed dostępem publicznym. Druga podsieć będzie hostować dwie maszyny wirtualne bazy danych Oracle.

Ponadto utwórz sieciową grupę zabezpieczeń, do której będą odwoływać się wszystkie usługi, aby określić, które porty są uwidocznione publicznie. Zostanie uwidoczniony tylko port 443. Usługa Azure Bastion otworzy ten port automatycznie podczas tworzenia tego wystąpienia usługi.

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

Tworzenie zestawu dostępności

Tworzenie zestawu dostępności jest opcjonalne, ale zalecamy. Aby uzyskać więcej informacji, zobacz wytyczne dotyczące zestawów dostępności platformy Azure.

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

Tworzenie dwóch maszyn wirtualnych

Utwórz dwie maszyny wirtualne za pomocą polecenia az vm create . Poniższy przykład tworzy maszyny wirtualne o nazwach OracleVM1 i OracleVM2.

Utwórz OracleVM1 (podstawowy):

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

Utwórz OracleVM2 (rezerwowy):

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

Tworzenie wystąpienia usługi Azure Bastion

Usługa Azure Bastion zapewnia bezpieczny tunel dla wszystkich usług hostowanych w sieci wirtualnej. Służy jako serwer przesiadkowy, aby wyeliminować bezpośredni dostęp do baz danych Oracle.

Utwórz publiczny adres IP, aby uzyskać dostęp do usługi Azure Bastion:

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

Utwórz wystąpienie usługi Azure Bastion:

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

Nawiązywanie połączenia z maszyną wirtualną

Teraz uzyskasz dostęp OracleVM1 przy użyciu usługi Azure Bastion z Azure Portal.

W polu wyszukiwania w górnej części okna wpisz OracleVM1. Na liście wyników wybierz pozycję OracleVM1 , aby otworzyć tę maszynę wirtualną.

Diagram przedstawiający pole wyszukiwania i wyniki dla pierwszej maszyny wirtualnej Oracle.

W górnej części okienka wybierz pozycję Połącz>z usługą Bastion.

Diagram przedstawiający wybrane opcje łączenia za pośrednictwem usługi Azure Bastion.

Wprowadź nazwę użytkownika i hasło, a następnie wybierz przycisk Połącz .

Diagram przedstawiający sposób wprowadzania poświadczeń w celu nawiązania połączenia za pośrednictwem usługi Azure Bastion.

Zostanie otwarta nowa karta z bezpiecznym połączeniem z maszyną wirtualną, na której oprogramowanie Oracle jest już zainstalowane z obrazu Azure Marketplace.

Diagram przedstawiający połączenie za pośrednictwem usługi Azure Bastion w przeglądarce.

Konfigurowanie maszyny OracleVM1 (podstawowa)

Wyłącz zaporę:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

oracle Ustaw hasło użytkownika:

sudo passwd oracle

azureuser Wprowadź hasło: OracleLab123.

oracle Zmień hasło użytkownika na OracleLab123. (Wprowadź go ponownie, aby zweryfikować).

Tworzenie bazy danych na maszynie OracleVM1 (podstawowa)

Oprogramowanie Oracle jest już zainstalowane na obrazie Azure Marketplace, więc następnym krokiem jest zainstalowanie bazy danych.

Przejdź do superużytkownika Oracle:

sudo su - oracle

Utwórz bazę danych:

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

Dane wyjściowe powinny wyglądać podobnie do następującej odpowiedzi:

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.

ORACLE_SID Ustaw zmienne iORACLE_HOME:

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

Opcjonalnie możesz dodać ORACLE_HOME parametry i ORACLE_SID do pliku /home/oracle/.bashrc , aby te ustawienia zostały zapisane na potrzeby przyszłych logowań:

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

Konfigurowanie funkcji Data Guard

Włączanie trybu dziennika archiwum na maszynie myVM1 (podstawowej)

Włącz tryb dziennika:

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;

Włącz rejestrowanie wymuszone i upewnij się, że istnieje co najmniej jeden plik dziennika:

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

Utwórz dzienniki ponownego utworzenia wstrzymania, ustawiając ten sam rozmiar i ilość co podstawowe dzienniki ponownego utworzenia bazy danych:

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;

Włącz funkcję Flashback (co znacznie ułatwia odzyskiwanie) i ustaw wartość STANDBY_FILE_MANAGEMENT .AUTO Zakończ pracę z bazą danych SQL*Plus po tym.

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;

Konfigurowanie usługi na maszynie OracleVM1 (podstawowa)

Edytuj lub utwórz plik tnsnames.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .

Dodaj następujące wpisy:

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)
    )
  )

Edytuj lub utwórz plik listener.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .

Dodaj następujące wpisy:

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

Włącz brokera funkcji Data Guard:

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

Skopiuj plik parametrów na serwer rezerwowy:

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

Uruchom odbiornik:

 lsnrctl stop
 lsnrctl start

Konfigurowanie usługi na maszynie OracleVM2 (rezerwa)

Wróć do witryny Azure Portal. Wyszukaj pozycję OracleVM2, a następnie wybierz zasób na liście wyników.

Zrzut ekranu przedstawiający pole wyszukiwania i wyniki dla drugiej maszyny wirtualnej Oracle.

W górnej części okienka wybierz pozycję Połącz>z usługą Bastion.

Diagram przedstawiający opcje łączenia za pośrednictwem usługi Azure Bastion.

Wprowadź nazwę użytkownika i hasło, a następnie wybierz przycisk Połącz .

Zrzut ekranu przedstawiający wprowadzanie poświadczeń nazwy użytkownika i hasła w celu nawiązania połączenia za pośrednictwem usługi Azure Bastion.

Wyłączanie zapory na maszynie OracleVM2 (rezerwa)

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Konfigurowanie środowiska dla maszyny OracleVM1

oracle Ustaw hasło użytkownika:

sudo passwd oracle

azureuser Wprowadź hasło: OracleLab123.

oracle Zmień hasło użytkownika na OracleLab123. (Wprowadź go ponownie, aby zweryfikować).

Przełącz się do superużytkownika oracle :

$ sudo su – oracle

ORACLE_SID Ustaw zmienne iORACLE_HOME:

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

Opcjonalnie możesz dodać ORACLE_HOME plik ORACLE_SID/home/oracle/.bashrc , aby te ustawienia były zapisywane dla przyszłych identyfikatorów logowania:

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

Edytuj lub utwórz plik tnsnames.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .

Dodaj następujące wpisy:

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)
    )
  )

Edytuj lub utwórz plik listener.ora , który znajduje się w folderze $ORACLE_HOME/network/admin .

Dodaj następujące wpisy:

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

Uruchom odbiornik:

 lsnrctl stop
 lsnrctl start

Przywracanie bazy danych do maszyny OracleVM2 (rezerwa)

Utwórz plik parametrów /tmp/initcdb1_stby.ora z następującą zawartością:

*.db_name='cdb1'

Utwórz foldery:

$ 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

Utwórz plik hasła:

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

Uruchom bazę danych w usłudze OracleVM2:

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

Przywróć bazę danych przy użyciu narzędzia Oracle Recovery Manager (RMAN):

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

Uruchom następujące polecenia w narzędziu RMAN:

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

Komunikaty podobne do następujących są wyświetlane po zakończeniu poleceń:

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

Zamknij program RMAN:

RMAN> EXIT;

Włącz brokera usługi Data Guard:

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

Konfigurowanie brokera usługi Data Guard na maszynie OracleVM1 (podstawowa)

Uruchom menedżera funkcji Data Guard i zaloguj się przy użyciu systemu SYS i hasła. (Nie używaj uwierzytelniania systemu operacyjnego).

$ 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.

Sprawdź konfigurację:

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)

Ukończono konfigurację funkcji Oracle Data Guard. W następnej sekcji pokazano, jak przetestować łączność i przełączyć się.

Łączenie bazy danych z maszyny klienckiej

Zaktualizuj plik tnsnames.ora na komputerze klienckim. Ten plik jest zwykle w $ORACLE_HOME/network/admin.

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)
    )
  )

Uruchom program 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>

Testowanie konfiguracji funkcji Data Guard

Przełączanie bazy danych na maszynie OracleVM1 (podstawowa)

Przełącz się z podstawowego na rezerwowy (cdb1 do 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>

Teraz możesz nawiązać połączenie z bazą danych rezerwowych. Uruchom program 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>

Przełączanie bazy danych na maszynie OracleVM2 (rezerwa)

Aby przełączyć się, uruchom następujący kod w systemie OracleVM2:

$ 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"

Po raz kolejny powinno być możliwe nawiązanie połączenia z podstawową bazą danych. Uruchom program 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>

Zakończono instalację i konfigurację funkcji Data Guard w systemie Oracle Linux.

Usuń maszynę wirtualną

Jeśli maszyny wirtualne nie są już potrzebne, możesz użyć następującego polecenia, aby usunąć grupę zasobów, maszyny wirtualne i wszystkie powiązane zasoby:

az group delete --name $RESOURCE_GROUP

Następne kroki