Skip to main content
NetApp Solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

TR-5002: Kostensenkung durch Oracle Active Data Guard mit Azure NetApp Files

Beitragende

Allen Cao, Niyaz Mohamed, NetApp

Die Lösung bietet einen Überblick und Details zur Konfiguration von Oracle Data Guard mit Microsoft Azure NetApp Files (ANF) als primären und Standby-Datenbank-Storage, um die Lizenz- und Betriebskosten der Oracle Data Guard HA/DR-Lösung in der Azure Cloud zu senken.

Zweck

Oracle Data Guard gewährleistet Hochverfügbarkeit, Datensicherung und Disaster Recovery für Unternehmensdaten in einer primären Datenbank und einer Standby-Datenbankreplizierungskonfiguration. Oracle Active Data Guard ermöglicht Benutzern den Zugriff auf Standby-Datenbanken, während die Datenreplikation von der primären Datenbank auf Standby-Datenbanken aktiv ist. Data Guard ist ein Bestandteil der Oracle Database Enterprise Edition. Eine separate Lizenzierung ist nicht erforderlich. Active Data Guard hingegen ist eine Oracle Database Enterprise Edition-Option, die daher eine separate Lizenzierung erfordert. Mehrere Standby-Datenbanken können in der Active Data Guard-Einrichtung eine Datenreplikation von einer primären Datenbank empfangen. Für jede zusätzliche Standby-Datenbank ist jedoch eine Active Data Guard Lizenz und zusätzlicher Storage als Größe der primären Datenbank erforderlich. Die Betriebskosten summieren sich schnell.

Wenn Sie die Kosten für den Betrieb Ihrer Oracle-Datenbank senken möchten und einen Active Data Guard in der Azure-Cloud einrichten möchten, sollten Sie eine Alternative in Betracht ziehen. Verwenden Sie anstelle von Active Data Guard Data Guard zur Replizierung von der primären Datenbank auf eine einzige physische Standby-Datenbank auf Azure NetApp Files Storage. Anschließend können mehrere Kopien dieser Standby-Datenbank geklont und für den Lese-/Schreibzugriff geöffnet werden, um viele andere Anwendungsfälle wie Berichterstellung, Entwicklung, Test usw. zu unterstützen. Die Nettoergebnisse bieten Funktionen von Active Data Guard und eliminieren gleichzeitig die Active Data Guard-Lizenz. In dieser Dokumentation zeigen wir, wie ein Oracle Data Guard mit Ihrer vorhandenen primären Datenbank und der physischen Standby-Datenbank auf ANF-Speicher eingerichtet wird. Die Standby-Datenbank wird über das NetApp SnapCenter Datenbank-Managementtool für den Lese- und Schreibzugriff gesichert und geklont. Das NetApp Solutions Engineering Team stellt außerdem ein Automatisierungs-Tool-Kit zur Aktualisierung von Klonen nach benutzerdefiniertem Zeitplan bereit. Damit wird ein vollständiges, automatisiertes Lifecycle Management für Datenbankklone möglich, ohne dass der Benutzer eingreifen muss.

Diese Lösung eignet sich für folgende Anwendungsfälle:

  • Implementierung von Oracle Data Guard zwischen einer primären Datenbank und einer physischen Standby-Datenbank auf Microsoft Azure NetApp Files Storage in Azure-Regionen.

  • Backup und Klonen der physischen Standby-Datenbank für Anwendungsfälle wie Berichterstellung, Entwicklung, Test usw.

  • Automatisiertes Lifecycle Management der Oracle Datenbankklonaktualisierung

Zielgruppe

Diese Lösung ist für folgende Personen gedacht:

  • Ein DBA, der Oracle Active Data Guard in der Azure Cloud für Hochverfügbarkeit, Datensicherung und Disaster Recovery eingerichtet hat.

  • Ein Datenbanklösungsarchitekt, der an der Oracle Active Data Guard-Konfiguration in der Azure Cloud interessiert ist.

  • Ein Storage-Administrator, der den Azure NetApp Files Storage managt, der Oracle Data Guard unterstützt.

  • Ein Applikationseigentümer, der Oracle Data Guard in einer Azure Cloud-Umgebung einsetzen möchte.

Test- und Validierungsumgebung der Lösung

Das Testen und Validieren dieser Lösung wurde in einer Azure Cloud Lab-Umgebung durchgeführt, die möglicherweise nicht mit der tatsächlichen Benutzerimplementierung übereinstimmt. Weitere Informationen finden Sie im Abschnitt Wichtige Faktoren für die Implementierung.

Der Netapp Architektur Sind

Dieses Bild enthält ein detailliertes Bild der Oracle Data Guard-Implementierung in der Azure Cloud auf ANF.

Hardware- und Softwarekomponenten

Hardware

Azure NetApp Dateien

Aktuelle Version von Microsoft angeboten

Zwei Kapazitäts-Pools mit 3 tib, Standard-Service-Level, Auto-QoS

Azure VMs für DB-Server

Standard-B4 ms (4 vcpus, 16 gib Speicher)

Drei DB-VMs, eine als primärer DB-Server, eine als Standby-DB-Server und die dritte als Klon-DB-Server

Software

Redhat Linux

Red hat Enterprise Linux 8.6 (LVM) – x64 Gen2

Bereitstellung der RedHat Subscription für Tests

Oracle Datenbank

Version 19.18

RU-Patch p34765931_190000_Linux-x86-64.zip angewendet

Oracle OPatch

Version 12.2.0.1.36

Neuestes Patch p6880880_190000_Linux-x86-64.zip

SnapCenter

Version 6.0.1

Modell 6.0.1.4487

NFS

Version 3.0

DNFS für Oracle aktiviert

Konfiguration von Oracle Data Guard mit hypothetischer Einrichtung von NY zu LA DR

* Datenbank*

DB_UNIQUE_NAME

Oracle Net Service Name

Primär

NTAP_NY

NTAP_NY.internal.cloudapp.net

Standby

NTAP_LA

NTAP_LA.internal.cloudapp.net

Wichtige Faktoren für die Implementierung

  • Standby-Datenbankklone. Beim Empfangen und Anwenden von Transaktionsprotokollen von der primären Datenbank kann die physische Standby-Datenbank geklont und auf einer DB-VM gemountet werden, um andere Workloads wie ENTWICKLUNG, TEST oder Bericht zu unterstützen. Der Klon kann ein dünner oder Thick Clone sein. Derzeit unterstützt ANF nur Thick Clone, also eine vollständige Kopie der Standby-Datenbank. Die Option ANF Thin Clone wird in Kürze veröffentlicht. Für eine über Thin Cloning erstellte Kopie von Datenbank-Volumes verwendet es dieselben DB-Volumes der Standby-Datenbank und nutzt Copy-on-Write-Technologie für die iOS mit Schreibzugriffen. Der Klon ist somit sehr Storage-effizient und kann für viele andere Anwendungsfälle mit minimaler und inkrementeller neuer Storage-Zuweisung für neue Schreib-I/OS verwendet werden. Dies führt zu enormen Einsparungen bei den Storage-Kosten, indem der Platzbedarf für Active Data Guard Storage deutlich verringert wird. NetApp empfiehlt, FlexClone-Aktivitäten bei einem Datenbank-Wechsel vom primären Storage auf Standby-ANF-Storage zu minimieren, um die Oracle-Performance auf hohem Niveau zu halten.

  • Oracle Software-Anforderungen. im Allgemeinen muss eine physische Standby-Datenbank die gleiche Database Home-Version wie die primäre Datenbank haben, einschließlich Patch Set Exceptions (PSEs), Critical Patch Updates (CPUs), und Patch-Set-Updates (PSUs), es sei denn, es wird ein Oracle Data Guard Standby-First Patch Apply-Prozess durchgeführt (wie in My Oracle Support Note 1265700.1 unter beschrieben "support.oracle.com"

  • Überlegungen zur Struktur des Standby-Datenbankverzeichnisses. Wenn möglich, sollten die Datendateien, Protokolldateien und Kontrolldateien auf den primären und Standby-Systemen dieselben Namen und Pfadnamen haben und die Namenskonventionen für die optimale flexible Architektur (OFA) verwenden. Die Archivverzeichnisse in der Standby-Datenbank sollten auch zwischen Standorten identisch sein, einschließlich Größe und Struktur. Diese Strategie erlaubt es anderen Vorgängen wie Backups, Switchover und Failover, dieselben Schritte auszuführen, wodurch die Wartungskomplexität verringert wird.

  • Protokollierungsmodus erzwingen. um sich vor nicht eingeloggten direkten Schreibvorgängen in der primären Datenbank zu schützen, die nicht an die Standby-Datenbank weitergegeben werden kann, aktivieren Sie die Option PROTOKOLLIERUNG an der primären Datenbank ERZWINGEN, bevor Sie Datendatei-Backups für die Standby-Erstellung durchführen.

  • Größenanpassung der Azure VM Für diese Tests und Validierungen wurde eine Azure VM - Standard_B4ms mit 4 vCPUs und 16 gib Arbeitsspeicher verwendet. Sie müssen die Größe der Azure DB-VM entsprechend der Anzahl der vCPUs und der Menge des RAM basierend auf tatsächlichen Workload-Anforderungen festlegen.

  • Azure NetApp Files-Konfiguration. Azure NetApp Files werden im Azure NetApp-Storage-Konto als `Capacity Pools`zugeordnet. Bei diesen Tests und Validierungen wurde ein Kapazitäts-Pool mit 3 tib zur Host von primären Oracle-Servern im Osten und eine Standby-Datenbank in der Region West 2 implementiert. Der ANF Kapazitäts-Pool bietet drei Service-Level: Standard, Premium und Ultra.  Die I/O-Kapazität des ANF Kapazitäts-Pools basiert auf der Größe des Kapazitäts-Pools und dessen Service Level. NetApp empfiehlt, für die Implementierung in der Produktion eine vollständige Bewertung Ihrer Anforderungen an den Durchsatz Ihrer Oracle-Datenbank vorzunehmen und den Kapazitätspool der Datenbank entsprechend zu dimensionieren. Bei der Erstellung eines Kapazitäts-Pools können Sie die QoS auf „automatisch“ oder „manuell“ und die Verschlüsselung von Daten im Ruhezustand auf „Single“ oder „Double“ einstellen.  

  • DNFS-Konfiguration. Mit dNFS kann eine Oracle Datenbank, die auf einer Azure Virtual Machine mit ANF Storage ausgeführt wird, deutlich mehr I/O Laufwerke als der native NFS-Client ausführen. Die automatisierte Oracle-Implementierung mit dem NetApp Automatisierungs-Toolkit konfiguriert dNFS auf NFSv3 automatisch.

Lösungsimplementierung

Es wird davon ausgegangen, dass Sie Ihre primäre Oracle-Datenbank bereits in einer Azure Cloud-Umgebung innerhalb eines vnet als Ausgangspunkt für die Einrichtung von Oracle Data Guard implementiert haben. Im Idealfall wird die primäre Datenbank auf ANF-Storage mit NFS-Mount implementiert. Für den Oracle-Datenbankspeicher werden drei NFS-Mount-Punkte erstellt: Mount /u01 für die Oracle-Binärdateien, Mount /u02 für die Oracle-Datendateien und eine Steuerdatei, Mount /u03 für die aktuellen und archivierten Oracle-Protokolldateien und eine redundante Steuerdatei.

Ihre primäre Oracle-Datenbank kann auch auf einem NetApp ONTAP Storage oder einem beliebigen anderen Storage innerhalb des Azure Ecosystems oder in einem privaten Datacenter ausgeführt werden. Der folgende Abschnitt enthält schrittweise Implementierungsverfahren zum Einrichten eines Oracle Data Guard zwischen einer primären Oracle DB in Azure mit ANF-Storage in einer physischen Standby Oracle DB in Azure mit ANF-Storage.

Voraussetzungen für die Bereitstellung

Details

Die Bereitstellung erfordert die folgenden Voraussetzungen.

  1. Ein Azure Cloud-Konto wurde eingerichtet und die erforderlichen vnet- und Netzwerksubnetze wurden in Ihrem Azure-Konto erstellt.

  2. Über die Azure Cloud-Portalkonsole müssen Sie mindestens drei Azure Linux VMs implementieren, eine als primärer Oracle DB Server, eine als Standby Oracle DB Server und einen Clone Ziel-DB Server für Berichterstellung, Entwicklung und Test usw. Weitere Details zum Umgebungs-Setup finden Sie im Architekturdiagramm im vorherigen Abschnitt. Weitere Informationen finden Sie auch im Microsoft"Azure Virtual Machines".

  3. Die primäre Oracle-Datenbank sollte auf dem primären Oracle DB-Server installiert und konfiguriert worden sein. Auf der anderen Seite wird auf dem Standby Oracle DB Server oder dem Clone Oracle DB Server nur Oracle Software installiert und keine Oracle Datenbanken erstellt. Idealerweise sollte das Layout der Oracle-Dateiverzeichnisse auf allen Oracle DB Servern genau übereinstimmen. Einzelheiten zu Empfehlungen von NetApp zur automatisierten Oracle-Implementierung in der Azure Cloud und ANF finden Sie in den folgenden technischen Berichten zur Unterstützung.

  4. Über die Azure Cloud-Portal-Konsole implementieren Sie zwei ANF-Storage-Kapazitäts-Pools, um Oracle-Datenbank-Volumes zu hosten. Die ANF-Storage-Kapazitäts-Pools sollten sich in verschiedenen Regionen befinden, um eine echte DataGuard-Konfiguration zu imitieren. Wenn Sie mit der Implementierung von ANF-Storage nicht vertraut sind, finden Sie in der Dokumentation "QuickStart: Azure NetApp Files einrichten und ein NFS-Volume erstellen"eine Schritt-für-Schritt-Anleitung.

    Screenshot mit der Konfiguration der Azure Umgebung

  5. Wenn sich die primäre Oracle-Datenbank und die Standby-Oracle-Datenbank in zwei verschiedenen Regionen befinden, sollte ein VPN-Gateway so konfiguriert werden, dass der Datenfluss zwischen zwei separaten VNets möglich ist. Eine detaillierte Netzwerkkonfiguration in Azure geht über den Umfang dieses Dokuments hinaus. Die folgenden Screenshots geben einen Hinweis darauf, wie die VPN-Gateways konfiguriert, verbunden und der Datenfluss im Labor bestätigt wird.

    Lab VPN-Gateways: Screenshot mit der Konfiguration der Azure Umgebung

    Das primäre vnet Gateway: Screenshot mit der Konfiguration der Azure Umgebung

    Vnet Gateway-Verbindungsstatus: Screenshot mit der Konfiguration der Azure Umgebung

    Überprüfen Sie, ob die Datenströme eingerichtet sind (klicken Sie auf drei Punkte, um die Seite zu öffnen): Screenshot mit der Konfiguration der Azure Umgebung

Bereiten Sie die primäre Datenbank für Data Guard vor

Details

In dieser Demonstration haben wir eine primäre Oracle-Datenbank namens NTAP auf dem primären Azure DB-Server mit drei NFS-Bereitstellungspunkten eingerichtet: /U01 für die Oracle-Binärdatei, /u02 für die Oracle-Datendateien und eine Oracle Steuerdatei, /u03 für die aktiven Oracle-Protokolle, archivierte Protokolldateien und eine redundante Oracle Steuerdatei. Im Folgenden werden die detaillierten Verfahren zum Einrichten der primären Datenbank für den Oracle Data Guard-Schutz erläutert. Alle Schritte sollten als Eigentümer der Oracle-Datenbank oder als Standardbenutzer ausgeführt oracle werden.

  1. Die primäre Datenbank NTAP auf dem primären Azure DB Server orap.internal.cloudapp.net wird zu Beginn als eigenständige Datenbank mit dem ANF als Datenbank-Storage bereitgestellt.

    orap.internal.cloudapp.net:
    resource group: ANFAVSRG
    Location: East US
    size: Standard B4ms (4 vcpus, 16 GiB memory)
    OS: Linux (redhat 8.6)
    pub_ip: 172.190.207.231
    pri_ip: 10.0.0.4
    
    [oracle@orap ~]$ df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    devtmpfs                   7.7G  4.0K  7.7G   1% /dev
    tmpfs                      7.8G     0  7.8G   0% /dev/shm
    tmpfs                      7.8G  209M  7.5G   3% /run
    tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/rootvg-rootlv   22G  413M   22G   2% /
    /dev/mapper/rootvg-usrlv    10G  2.1G  8.0G  21% /usr
    /dev/sda1                  496M  181M  315M  37% /boot
    /dev/mapper/rootvg-homelv  2.0G   47M  2.0G   3% /home
    /dev/sda15                 495M  5.8M  489M   2% /boot/efi
    /dev/mapper/rootvg-varlv   8.0G  1.1G  7.0G  13% /var
    /dev/mapper/rootvg-tmplv    12G  120M   12G   1% /tmp
    /dev/sdb1                   32G   49M   30G   1% /mnt
    10.0.2.36:/orap-u02        500G  7.7G  493G   2% /u02
    10.0.2.36:/orap-u03        450G  6.1G  444G   2% /u03
    10.0.2.36:/orap-u01        100G  9.9G   91G  10% /u01
    
    [oracle@orap ~]$ cat /etc/oratab
    #
    
    
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
  2. Melden Sie sich beim primären DB-Server als oracle-Benutzer an. Melden Sie sich bei der Datenbank über sqlplus an, aktivieren Sie die erzwungene Anmeldung bei der primären Anmeldung.

    alter database force logging;
    [oracle@orap admin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 20:12:02 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> alter database force logging;
    
    Database altered.
  3. Aktivieren Sie von sqlplus Flashback auf der primären DB. Flashback ermöglicht die einfache Wiederherstellung der primären Datenbank als Standby nach einem Failover.

    alter database flashback on;
    SQL> alter database flashback on;
    
    Database altered.
  4. Konfiguration der Authentifizierung für den Wiederherstellungs-Transport mithilfe der Oracle-Passwortdatei - Erstellen Sie eine pwd-Datei auf dem primären System mit dem Dienstprogramm orapwd, wenn sie nicht festgelegt ist, und kopieren Sie sie in das ORACLE_HOME/dbs-Verzeichnis der Standby-Datenbank.

  5. Erstellen Sie Standby-Wiederherstellungsprotokolle in der primären Datenbank mit der Größe der aktuellen Online-Protokolldatei. Protokollgruppen sind eine mehr als eine Online-Protokolldateigruppe. Die primäre Datenbank kann dann schnell zur Standby-Rolle wechseln, wenn ein Failover stattfindet und beginnt, Wiederherstellungsdaten zu empfangen. Wiederholen Sie den folgenden Befehl viermal, um vier Standby-Protokolldateien zu erstellen.

    alter database add standby logfile thread 1 size 200M;
    SQL> alter database add standby logfile thread 1 size 200M;
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    SQL> /
    
    Database altered.
    
    
    SQL> set lin 200
    SQL> col member for a80
    SQL> select group#, type, member from v$logfile;
    
        GROUP# TYPE    MEMBER
    ---------- ------- --------------------------------------------------------------------------------
             3 ONLINE  /u03/orareco/NTAP/onlinelog/redo03.log
             2 ONLINE  /u03/orareco/NTAP/onlinelog/redo02.log
             1 ONLINE  /u03/orareco/NTAP/onlinelog/redo01.log
             4 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_4__2m115vkv_.log
             5 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_5__2m3c5cyd_.log
             6 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_6__2m4d7dhh_.log
             7 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_7__2m5ct7g1_.log
  6. Erstellen Sie aus dem sqlplus ein pfile aus spfile zur Bearbeitung.

    create pfile='/home/oracle/initNTAP.ora' from spfile;
  7. Überarbeiten Sie die pfile und fügen Sie die folgenden Parameter hinzu.

    vi /home/oracle/initNTAP.ora
    Update the following parameters if not set:
    
    DB_NAME=NTAP
    DB_UNIQUE_NAME=NTAP_NY
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(NTAP_NY,NTAP_LA)'
    LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=NTAP_NY'
    LOG_ARCHIVE_DEST_2='SERVICE=NTAP_LA ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=NTAP_LA'
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    FAL_SERVER=NTAP_LA
    STANDBY_FILE_MANAGEMENT=AUTO
  8. Erstellen Sie aus sqlplus spfile aus überarbeitetem pfile neu, um den vorhandenen spfile im ORACLE_HOME/dbs-Verzeichnis im Wert von USD zu überschreiben.

    create spfile='$ORACLE_HOME/dbs/spfileNTAP.ora' from pfile='/home/oracle/initNTAP.ora';
  9. Ändern Sie Oracle tnsnames.ora im ORACLE_HOME/Network/admin-Verzeichnis, um db_Unique_Name für die Namensauflösung hinzuzufügen.

    vi $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    NTAP_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    NTAP_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    LISTENER_NTAP =
      (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
    Hinweis Wenn Sie Ihren Azure DB-Server anders benennen als den Standard, fügen Sie die Namen zur Auflösung des Hostnamens in die lokale Hostdatei ein.
  10. Fügen Sie der Datei Listener.ora den Namen des Data Guard-Dienstes NTAP_NY_DGMGRL.internal.cloudapp.net für die primäre Datenbank hinzu.

    vi $ORACLE_HOME/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER.NTAP =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER.NTAP =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = NTAP_NY_DGMGRL.internal.cloudapp.net)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP)
          (SID_NAME = NTAP)
        )
      )
  11. Beenden und starten Sie die Datenbank über sqlplus neu und überprüfen Sie, ob die Data Guard-Parameter jetzt aktiv sind.

    shutdown immediate;
    startup;
    SQL> show parameter name
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster_name                     string
    cell_offloadgroup_name               string
    db_file_name_convert                 string
    db_name                              string      NTAP
    db_unique_name                       string      NTAP_NY
    global_names                         boolean     FALSE
    instance_name                        string      NTAP
    lock_name_space                      string
    log_file_name_convert                string
    pdb_file_name_convert                string
    processor_group_name                 string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      NTAP_NY.internal.cloudapp.net
    SQL> sho parameter log_archive_dest
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest                     string
    log_archive_dest_1                   string      LOCATION=USE_DB_RECOVERY_FILE_
                                                     DEST VALID_FOR=(ALL_LOGFILES,A
                                                     LL_ROLES) DB_UNIQUE_NAME=NTAP_
                                                     NY
    log_archive_dest_10                  string
    log_archive_dest_11                  string
    log_archive_dest_12                  string
    log_archive_dest_13                  string
    log_archive_dest_14                  string
    log_archive_dest_15                  string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_dest_16                  string
    log_archive_dest_17                  string
    log_archive_dest_18                  string
    log_archive_dest_19                  string
    log_archive_dest_2                   string      SERVICE=NTAP_LA ASYNC VALID_FO
                                                     R=(ONLINE_LOGFILES,PRIMARY_ROL
                                                     E) DB_UNIQUE_NAME=NTAP_LA
    log_archive_dest_20                  string
    log_archive_dest_21                  string
    .
    .

Damit ist die Einrichtung der primären Datenbank für Data Guard abgeschlossen.

Bereiten Sie die Standby-Datenbank vor und aktivieren Sie Data Guard

Details

Oracle Data Guard erfordert die Kernel-Konfiguration des Betriebssystems und Oracle-Software-Stacks einschließlich Patch-Sets auf dem Standby-DB-Server, um mit dem primären DB-Server zu übereinstimmen. Für einfaches Management und einfache Handhabung sollte die Speicherkonfiguration des Standby-DB-Servers idealerweise auch mit dem primären DB-Server übereinstimmen, wie z.B. das Datenbankverzeichnis-Layout und die Größe der NFS-Bereitstellungspunkte. Im Folgenden finden Sie detaillierte Verfahren zum Einrichten des Standby-Oracle-DB-Servers und zum Aktivieren von Oracle DataGuard für HA-/DR-Schutz. Alle Befehle sollten als standardmäßige Oracle-Benutzer-id ausgeführt werden oracle.

  1. Prüfen Sie zunächst die Konfiguration der primären Datenbank auf dem primären Oracle DB-Server. In dieser Demonstration haben wir eine primäre Oracle-Datenbank namens NTAP auf dem primären DB-Server mit drei NFS-Mounts auf ANF-Storage eingerichtet.

  2. Wenn Sie die NetApp Dokumentation TR-4987 befolgen, um den Oracle Standby DB Server einzurichten"TR-4987: Vereinfachte, automatisierte Oracle-Implementierung auf Azure NetApp Files mit NFS", verwenden Sie ein Tag -t software_only_install in Schritt 2 von Playbook execution, um die automatische Oracle Installation auszuführen. Die überarbeitete Befehlssyntax ist unten aufgeführt. Das Tag ermöglicht die Installation und Konfiguration des Oracle-Softwarestapels, aber nicht die Erstellung einer Datenbank.

    ansible-playbook -i hosts 4-oracle_config.yml -u azureuser -e @vars/vars.yml -t software_only_install
  3. Die Standby-Konfiguration des Oracle DB-Servers am Standby-Standort im Demo Lab.

    oras.internal.cloudapp.net:
    resource group: ANFAVSRG
    Location: West US 2
    size: Standard B4ms (4 vcpus, 16 GiB memory)
    OS: Linux (redhat 8.6)
    pub_ip: 172.179.119.75
    pri_ip: 10.0.1.4
    
    [oracle@oras ~]$ df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    devtmpfs                   7.7G     0  7.7G   0% /dev
    tmpfs                      7.8G     0  7.8G   0% /dev/shm
    tmpfs                      7.8G  265M  7.5G   4% /run
    tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/rootvg-rootlv   22G  413M   22G   2% /
    /dev/mapper/rootvg-usrlv    10G  2.1G  8.0G  21% /usr
    /dev/sda1                  496M  181M  315M  37% /boot
    /dev/mapper/rootvg-varlv   8.0G  985M  7.1G  13% /var
    /dev/mapper/rootvg-homelv  2.0G   52M  2.0G   3% /home
    /dev/mapper/rootvg-tmplv    12G  120M   12G   1% /tmp
    /dev/sda15                 495M  5.8M  489M   2% /boot/efi
    /dev/sdb1                   32G   49M   30G   1% /mnt
    10.0.3.36:/oras-u01        100G  9.5G   91G  10% /u01
    10.0.3.36:/oras-u02        500G  8.1G  492G   2% /u02
    10.0.3.36:/oras-u03        450G  4.8G  446G   2% /u03
  4. Sobald die Oracle-Software installiert und konfiguriert wurde, legen Sie oracle Home und Path fest. Kopieren Sie außerdem das ORACLE-Passwort aus dem im Standby-Modus für oracle_HOME verwendeten Verzeichnis von der primären Datenbank, falls dies nicht der Fall ist.

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP
    export PATH=$PATH:$ORACLE_HOME/bin
    scp oracle@10.0.0.4:$ORACLE_HOME/dbs/orapwNTAP .
  5. Aktualisieren Sie die Datei tnsnames.ora mit folgenden Einträgen.

    vi $ORACLE_HOME/network/admin/tnsnames.ora
    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    NTAP_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
    
    NTAP_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = NTAP)
        )
      )
  6. Fügen Sie den Namen des DB Data Guard-Service zur Listener.ora-Datei hinzu.

    vi $ORACLE_HOME/network/admin/listener.ora
    # listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER.NTAP =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = NTAP)
        )
      )
    
    SID_LIST_LISTENER.NTAP =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = NTAP_LA_DGMGRL.internal.cloudapp.net)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP)
          (SID_NAME = NTAP)
        )
      )
    
    LISTENER =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521))
      )
  7. Starten Sie dbca, um die Standby-Datenbank von der primären Datenbank NTAP zu instanziieren.

    dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_LA
    [oracle@oras admin]$ dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_LA
    Enter SYS user password:
    
    Prepare for db operation
    22% complete
    Listener config step
    44% complete
    Auxiliary instance creation
    67% complete
    RMAN duplicate
    89% complete
    Post duplicate database operations
    100% complete
    
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/NTAP_LA/NTAP_LA.log" for further details.
  8. Duplizierte Standby-Datenbank validieren Neu duplizierte Standby-Datenbank zunächst im SCHREIBGESCHÜTZTEN Modus geöffnet.

    [oracle@oras admin]$ cat /etc/oratab
    #
    
    
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
    [oracle@oras admin]$ export ORACLE_SID=NTAP
    [oracle@oras admin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 23:04:07 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    NTAP      READ ONLY
    
    SQL> show parameter name
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster_name                     string
    cell_offloadgroup_name               string
    db_file_name_convert                 string
    db_name                              string      NTAP
    db_unique_name                       string      NTAP_LA
    global_names                         boolean     FALSE
    instance_name                        string      NTAP
    lock_name_space                      string
    log_file_name_convert                string
    pdb_file_name_convert                string
    processor_group_name                 string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      NTAP_LA.internal.cloudapp.net
    SQL> show parameter log_archive_config
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_config                   string      DG_CONFIG=(NTAP_NY,NTAP_LA)
    SQL> show parameter fal_server
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    fal_server                           string      NTAP_NY
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/system01.dbf
    /u02/oradata/NTAP/sysaux01.dbf
    /u02/oradata/NTAP/undotbs01.dbf
    /u02/oradata/NTAP/pdbseed/system01.dbf
    /u02/oradata/NTAP/pdbseed/sysaux01.dbf
    /u02/oradata/NTAP/users01.dbf
    /u02/oradata/NTAP/pdbseed/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb1/users01.dbf
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/NTAP_pdb2/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb2/users01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/system01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/sysaux01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/undotbs01.dbf
    /u02/oradata/NTAP/NTAP_pdb3/users01.dbf
    
    19 rows selected.
    
    SQL> select name from v$controlfile;
    
    NAME
    --------------------------------------------------------------------------------
    /u02/oradata/NTAP/control01.ctl
    /u03/orareco/NTAP_LA/control02.ctl
    
    SQL> col member form a80
    SQL> select group#, type, member from v$logfile order by 2, 1;
    
        GROUP# TYPE    MEMBER
    ---------- ------- --------------------------------------------------------------------------------
             1 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_1_mndl6mxh_.log
             2 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_2_mndl7jdb_.log
             3 ONLINE  /u03/orareco/NTAP_LA/onlinelog/o1_mf_3_mndl8f03_.log
             4 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_4_mndl99m7_.log
             5 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_5_mndlb67d_.log
             6 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_6_mndlc2tw_.log
             7 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_7_mndlczhb_.log
    
    7 rows selected.
  9. Starten Sie die Standby-Datenbank im Stadium neu mount, und führen Sie folgenden Befehl aus, um die von der Standby-Datenbank gemanagte Recovery zu aktivieren.

    alter database recover managed standby database disconnect from session;
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 6442449688 bytes
    Fixed Size                  9177880 bytes
    Variable Size            1090519040 bytes
    Database Buffers         5335154688 bytes
    Redo Buffers                7598080 bytes
    Database mounted.
    SQL> alter database recover managed standby database disconnect from session;
    
    Database altered.
  10. Überprüfen Sie den Wiederherstellungsstatus der Standby-Datenbank. Beachten Sie die recovery logmerger In APPLYING_LOG Aktion.

    SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;

ROLE                        THREAD#  SEQUENCE# ACTION
------------------------ ---------- ---------- ------------
post role transition              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery apply slave              0          0 IDLE
recovery logmerger                1         18 APPLYING_LOG
managed recovery                  0          0 IDLE
RFS async                         1         18 IDLE
RFS ping                          1         18 IDLE
archive redo                      0          0 IDLE
redo transport timer              0          0 IDLE

ROLE                        THREAD#  SEQUENCE# ACTION
------------------------ ---------- ---------- ------------
gap manager                       0          0 IDLE
archive redo                      0          0 IDLE
archive redo                      0          0 IDLE
redo transport monitor            0          0 IDLE
log writer                        0          0 IDLE
archive local                     0          0 IDLE

17 rows selected.

SQL>

Damit ist die Data Guard-Schutzeinrichtung für NTAP vom primären zum Standby mit aktivierter verwalteter Standby-Wiederherstellung abgeschlossen.

Data Guard Broker Einrichten

Details

Oracle Data Guard Broker ist ein verteiltes Management-Framework, das die Erstellung, Wartung und Überwachung von Oracle Data Guard Konfigurationen automatisiert und zentralisiert. Im folgenden Abschnitt wird erläutert, wie Data Guard Broker für die Verwaltung der Data Guard-Umgebung eingerichtet wird.

  1. Starten Sie den Data Guard Broker sowohl auf der primären als auch auf der Standby-Datenbank mit folgendem Befehl über sqlplus.

    alter system set dg_broker_start=true scope=both;
  2. Stellen Sie von der primären Datenbank eine Verbindung zu Data Guard Borker als SYSDBA her.

    [oracle@orap ~]$ dgmgrl sys@NTAP_NY
    DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    
    Welcome to DGMGRL, type "help" for information.
    Password:
    Connected to "NTAP_NY"
    Connected as SYSDBA.
    DGMGRL>
  3. Erstellen und Aktivieren der Data Guard Broker-Konfiguration.

    DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY;
    Configuration "dg_config" created with primary database "ntap_ny"
    DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA;
    Database "ntap_la" added
    DGMGRL> enable configuration;
    Enabled.
    DGMGRL> show configuration;
    
    Configuration - dg_config
    
      Protection Mode: MaxPerformance
      Members:
      ntap_ny - Primary database
        ntap_la - Physical standby database
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 3 seconds ago)
  4. Überprüfen Sie den Datenbankstatus im Data Guard Broker Management Framework.

    DGMGRL> show database db1_ny;
    
    Database - db1_ny
    
      Role:               PRIMARY
      Intended State:     TRANSPORT-ON
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL> show database db1_la;
    
    Database - db1_la
    
      Role:               PHYSICAL STANDBY
      Intended State:     APPLY-ON
      Transport Lag:      0 seconds (computed 1 second ago)
      Apply Lag:          0 seconds (computed 1 second ago)
      Average Apply Rate: 2.00 KByte/s
      Real Time Query:    OFF
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL>

Im Falle eines Ausfalls kann der Data Guard Broker verwendet werden, um umgehend ein Failover der primären Datenbank in den Standby-Modus durchzuführen. Wenn Fast-Start Failover aktiviert ist, kann Data Guard Broker ein Failover der primären Datenbank in den Standby-Modus durchführen, wenn ein Fehler ohne Benutzereingriff erkannt wird.

Clone Standby-Datenbank für andere Anwendungsfälle

Details

Der wichtigste Vorteil, wenn Sie die Oracle Standby-Datenbank im Oracle Data Guard Setup auf ANF hosten, besteht darin, dass sie schnell geklont werden kann, um für viele andere Anwendungsfälle geeignet zu sein – bei Aktivierung eines Thin Clones mit minimalen zusätzlichen Storage-Investitionen. NetApp empfiehlt, zum Managen Ihrer Oracle DataGuard Datenbank das UI-Tool SnapCenter zu verwenden. Im folgenden Abschnitt wird gezeigt, wie mit dem Tool NetApp SnapCenter ein Snapshot von den gemounteten und unter Recovery-Standby-Datenbank-Volumes auf dem ANF erstellt und geklont wird, und zwar zu anderen Zwecken wie ENTWICKLUNG, TEST, BERICHT usw.

Im Folgenden finden Sie allgemeine Verfahren zum Klonen einer LESE-/SCHREIBDATENBANK aus der verwalteten physischen Standby-Datenbank im Oracle Data Guard unter Verwendung von SnapCenter. Ausführliche Anweisungen zur Einrichtung und Konfiguration von SnapCenter für Oracle auf ANF finden Sie in TR-4988"Oracle Database Backup, Recovery und Klonen auf ANF mit SnapCenter".

  1. Wir beginnen mit der Usecase-Validierung, indem wir eine Testtabelle erstellen und eine Zeile in die Testtabelle in der primären Datenbank einfügen. Anschließend validieren wir, dass die Transaktion in den Standby-Modus und schließlich den Klon durchlaufen wird.

    [oracle@orap ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 16:33:17 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> alter session set container=ntap_pdb1;
    
    Session altered.
    
    SQL> create table test(id integer, dt timestamp, event varchar(100));
    
    Table created.
    
    SQL> insert into test values(1, sysdate, 'a test transaction at primary database NTAP on DB server orap.internal.cloudapp.net');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    11-DEC-24 04.38.44.000000 PM
    a test transaction at primary database NTAP on DB server orap.internal.cloudapp.
    net
    
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    NTAP
    orap
    
    
    SQL>
  2. In der SnapCenter-Konfiguration wurden in ein Settings unix-Benutzer (Azure für Demo) und ein Azure-Zertifikat (Azure_anf für Demo) hinzugefügt Credential.

    Screenshot, der diesen Schritt in der GUI zeigt.

  3. Verwenden Sie die Azure_anf-Zugangsdaten, um den ANF-Speicher zu hinzuzufügen Storage Systems. Wenn Sie in Ihrer Azure-Subsciption mehrere ANF-Storage-Konten haben, klicken Sie auf die Dropdown-Liste, um das richtige Storage-Konto auszuwählen. Für diese Demonstration haben wir zwei dedizierte Oracle-Speicherkonten erstellt.

    Screenshot, der diesen Schritt in der GUI zeigt.

  4. Alle Oracle DB Server wurden zu SnapCenter hinzugefügt Hosts.

    Screenshot, der diesen Schritt in der GUI zeigt.

    Hinweis Auf dem Clone-DB-Server sollten identtical Oracle-Software-Stacks installiert und konfiguriert sein. In unserem Testfall wurde die Oracle 19C Software installiert und konfiguriert, aber es wurde keine Datenbank erstellt.
  5. Erstellen einer Backup-Richtlinie, die auf das Offline-/Mounten eines vollständigen Datenbank-Backups zugeschnitten ist

    Screenshot, der diesen Schritt in der GUI zeigt.

  6. Wenden Sie die Sicherungsrichtlinie an, um die Standby-Datenbank auf der Registerkarte zu schützen Resources. Bei der erstmaligen Erkennung wird der Datenbankstatus als angezeigt Not protected.

    Screenshot, der diesen Schritt in der GUI zeigt.

  7. Sie haben die Möglichkeit, entweder ein Backup manuell auszulösen oder es zu einem bestimmten Zeitpunkt nach Anwendung einer Backup-Richtlinie zu einem Zeitplan zu setzen.

    Screenshot, der diesen Schritt in der GUI zeigt.

  8. Klicken Sie nach einem Backup auf Datenbanknamen, um die Seite Datenbank-Backups zu öffnen. Wählen Sie ein Backup aus, das für den Datenbankklon verwendet werden soll, und klicken Sie auf Clone die Schaltfläche, um den Klon-Workflow zu starten.

    Screenshot, der diesen Schritt in der GUI zeigt.

  9. Wählen Sie die aus Complete Database Clone und benennen Sie die Clone-Instanz-SID.

    Screenshot, der diesen Schritt in der GUI zeigt.

  10. Wählen Sie den Clone-DB-Server aus, der die geklonte Datenbank aus der Standby-DB hostet. Akzeptieren Sie die Standardeinstellung für Datendateien, Wiederherstellungsprotokolle. Legen Sie eine Steuerdatei auf den Mount-Punkt /u03.

    Screenshot, der diesen Schritt in der GUI zeigt.

  11. Für die OS-basierte Authentifizierung sind keine Datenbankanmeldeinformationen erforderlich. Passen Sie die Oracle Home-Einstellung an die Konfiguration auf dem Clone-DB-Server an.

    Screenshot, der diesen Schritt in der GUI zeigt.

  12. Falls erforderlich, können Sie Parameter für Klondatenbanken ändern, z. B. niedrigere PGA- oder SGA-Größe für eine Klon-DB. Geben Sie ggf. Skripte an, die vor dem Klon ausgeführt werden sollen.

    Screenshot, der diesen Schritt in der GUI zeigt.

  13. Geben Sie SQL ein, das nach dem Klon ausgeführt werden soll. In der Demo führten wir Befehle aus, um den Datenbank-Archivmodus für eine Entwicklungs-/Test-/Berichtsdatenbank zu deaktivieren.

    Screenshot, der diesen Schritt in der GUI zeigt.

  14. Konfigurieren Sie bei Bedarf die E-Mail-Benachrichtigung.

    Screenshot, der diesen Schritt in der GUI zeigt.

  15. Überprüfen Sie die Zusammenfassung, und klicken Sie auf Finish Um den Klon zu starten.

    Screenshot, der diesen Schritt in der GUI zeigt.

  16. Überwachen Sie den Klonjob auf der Monitor Registerkarte. Wir beobachteten, dass es etwa 14 Minuten dauerte, um eine Datenbank mit einer Größe von 950 GB an Datenbank-Volumes zu klonen.

    Screenshot, der diesen Schritt in der GUI zeigt.

  17. Validierung der Klondatenbank von SnapCenter, die sofort bei registriert wird Resources Nach dem Klonvorgang rechts abwählen.

    Screenshot, der diesen Schritt in der GUI zeigt.

  18. Abfrage der Klondatenbank vom Clone-DB-Server. Wir validierten, dass die Testtransaktion, die in der primären Datenbank auftrat, bis zur Klondatenbank durchläuft war.

    [oracle@orac ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 20:16:09 2024
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode, log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    NTAPDEV   READ WRITE           NOARCHIVELOG
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    NTAPDEV
    orac
    
    
    SQL> alter pluggable database all open;
    
    Pluggable database altered.
    
    SQL> alter pluggable database all save state;
    
    Pluggable database altered.
    
    
    SQL> alter session set container=ntap_pdb1;
    
    Session altered.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    11-DEC-24 04.38.44.000000 PM
    a test transaction at primary database NTAP on DB server orap.internal.cloudapp.
    net

Damit ist die Demonstration des Oracle-Standby-Datenbankklons im Oracle Data Guard auf Azure ANF-Storage für ENTWICKLUNG, TEST, BERICHT oder andere Anwendungsfälle abgeschlossen. Mehrere Oracle Datenbanken können von derselben Standby-Datenbank in Oracle Data Guard auf ANF geklont werden.

Wo Sie weitere Informationen finden

Weitere Informationen zu den in diesem Dokument beschriebenen Daten finden Sie in den folgenden Dokumenten bzw. auf den folgenden Websites: