Skip to main content
NetApp Solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

TR-5002: Reducción de costes de Oracle Active Data Guard con Azure NetApp Files

Colaboradores

Allen Cao, Niyaz Mohamed, NetApp

La solución ofrece una descripción general y detalles para configurar Oracle Data Guard con Microsoft Azure NetApp Files (ANF) como almacenamiento de bases de datos primaria y en espera para reducir el coste operativo y de licencias de la solución HA/DR de Oracle Data Guard en la nube de Azure.

Específico

Oracle Data Guard garantiza una alta disponibilidad, protección de datos y recuperación de desastres para los datos empresariales en una configuración de replicación de base de datos primaria y base de datos en espera. Oracle Active Data Guard permite a los usuarios acceder a bases de datos en espera mientras la replicación de datos está activa desde la base de datos primaria a bases de datos en espera. Data Guard es una función de Oracle Database Enterprise Edition. No se requiere licencia independiente. Por otro lado, Active Data Guard es una opción de Oracle Database Enterprise Edition, por lo tanto, requiere una licencia independiente. Varias bases de datos en espera pueden recibir la replicación de datos de una base de datos primaria en la configuración de Active Data Guard. Sin embargo, cada base de datos en espera adicional requiere una licencia de Active Data Guard y almacenamiento adicional como tamaño de la base de datos primaria. Los costes operativos se suman rápidamente.

Si está interesado en reducir el coste de la operación de la base de datos Oracle y está planeando configurar un Active Data Guard en la nube de Azure, debería considerar una alternativa. En lugar de Active Data Guard, utilice Data Guard para replicar de la base de datos primaria a una única base de datos física en espera en el almacenamiento de Azure NetApp Files. Posteriormente, se pueden clonar y abrir varias copias de esta base de datos en espera para el acceso de lectura/escritura para servir a muchos otros casos de uso, como informes, desarrollo, pruebas, etc. Los resultados netos proporcionan de manera efectiva funcionalidades de Active Data Guard y eliminan la licencia de Active Data Guard. En esta documentación, mostramos cómo configurar Oracle Data Guard con la base de datos primaria y física en espera existentes en el almacenamiento ANF. Se realiza una copia de seguridad de la base de datos en espera y se clona para obtener acceso de lectura/escritura para casos de uso como se desee a través de la herramienta de gestión de bases de datos NetApp SnapCenter. El equipo de ingeniería de soluciones de NetApp también ofrece un kit de herramientas de automatización para actualizar la clonación en una programación definida por el usuario y así gestionar el ciclo de vida de clones de bases de datos de forma automatizada y completa sin necesidad de intervención del usuario.

Esta solución aborda los siguientes casos prácticos:

  • Implementación de Oracle Data Guard entre una base de datos primaria y una base de datos física en espera en el almacenamiento de Microsoft Azure NetApp Files en todas las regiones de Azure.

  • Realice backups y clone la base de datos física en espera para utilizar casos de uso como creación de informes, desarrollo, pruebas, etc.

  • Gestión del ciclo de vida de actualización del clon de bases de datos de Oracle a través

Destinatarios

Esta solución está dirigida a las siguientes personas:

  • Un administrador de bases de datos que configura Oracle Active Data Guard en el cloud de Azure para alta disponibilidad, protección de datos y recuperación ante desastres.

  • Un arquitecto de soluciones de bases de datos interesado en la configuración de Oracle Active Data Guard en la nube de Azure.

  • Un administrador de almacenamiento que gestiona el almacenamiento de Azure NetApp Files compatible con Oracle Data Guard.

  • Propietario de una aplicación al que le gusta poner en marcha Oracle Data Guard en un entorno de cloud de Azure.

Entorno de prueba y validación de la solución

Las pruebas y la validación de esta solución se llevaron a cabo en un entorno de laboratorio de cloud de Azure que podría no coincidir con el entorno de puesta en marcha real del usuario. Para obtener más información, consulte la sección Factores clave a tener en cuenta la puesta en marcha.

Arquitectura

Esta imagen proporciona una imagen detallada de la implementación de Oracle Data Guard en la nube de Azure en ANF.

Componentes de hardware y software

Hardware

Azure NetApp Files

Versión actual ofrecida por Microsoft

Dos pools de capacidad de 3 TiB, nivel de servicio estándar, calidad de servicio automática

Máquinas virtuales de Azure para servidores de bases de datos

B4ms estándar (4 vcpu, 16 GiB de memoria)

Tres equipos virtuales de base de datos, uno como servidor de base de datos primaria, uno como servidor de base de datos en espera y el tercero como servidor de base de datos clonado

Software

Red Hat Linux

Red Hat Enterprise Linux 8,6 (LVM) - x64 Gen2

Suscripción RedHat implementada para pruebas

Base de datos Oracle

Versión 19.18

Parche RU aplicado p34765931_190000_Linux-x86-64.zip

Oracle OPatch

Versión 12.2.0.1.36

Último parche p6880880_190000_Linux-x86-64.zip

SnapCenter

Versión 6.0.1

Cree 6.0.1.4487

NFS

Versión 3.0

DNFS activado para Oracle

Configuración de Oracle Data Guard con configuración hipotética de NY a LA DR

Base de datos

DB_UNIQUE_NAME

Nombre de Servicio de Red de Oracle

Primario

NTAP_NY

NTAP_NY.internal.cloudapp.net

En espera

NTAP_LA

NTAP_LA.internal.cloudapp.net

Factores clave a tener en cuenta la puesta en marcha

  • Standby Database Clone. Al recibir y aplicar registros de transacciones de la base de datos primaria, la base de datos física en espera puede clonarse y montarse en un equipo virtual de base de datos para soportar otras cargas de trabajo como DESARROLLO, PRUEBA o informe. El clon puede ser un clon fino o grueso. En este momento, ANF solo admite clonado grueso, que es una copia completa de la base de datos en espera. La opción de clonación fina de ANF se lanzará en breve. Para realizar copias clonadas de volúmenes de bases de datos, comparte los mismos volúmenes de bases de datos en espera y utiliza la tecnología copy-on-write para dar servicio a iOS de escritura. Así, el clon resulta muy eficiente del almacenamiento que se puede utilizar en muchos otros casos de uso con una asignación de nuevo almacenamiento mínima e incremental para nuevas I/O de escritura. Esto proporciona un enorme ahorro en costes de almacenamiento al reducir de forma considerable el espacio físico de almacenamiento de Active Data Guard. NetApp recomienda minimizar las actividades de FlexClone en caso de cambiar de un almacenamiento principal al almacenamiento ANF en espera para mantener un rendimiento de Oracle a un nivel alto.

  • Requisitos de software de Oracle. En general, una base de datos física en espera debe tener la misma versión del directorio raíz de la base de datos que la base de datos primaria, incluidas las excepciones de juego de parches (PSE), las actualizaciones de parches críticos (CPU), y y Actualizaciones de Juegos de Parches (PSU), a menos que esté en curso un proceso de aplicación de Parches Primero en Espera de Oracle Data Guard (como se describe en la nota 1265700,1 de My Oracle Support en "support.oracle.com"

  • Consideraciones sobre la estructura del directorio de la base de datos en espera. Si es posible, los archivos de datos, los archivos de registro y los archivos de control en los sistemas primario y en espera deben tener los mismos nombres y nombres de ruta de acceso y usar las convenciones de nomenclatura de Arquitectura Flexible Óptima (OFA). Los directorios de archivado de la base de datos en espera también deben ser idénticos entre las ubicaciones, incluido el tamaño y la estructura. Esta estrategia permite que otras operaciones, como backups, conmutaciones y recuperaciones tras fallos, ejecuten el mismo conjunto de pasos, lo que reduce la complejidad de mantenimiento.

  • Forzar modo de registro. Para proteger contra las escrituras directas no registradas en la base de datos primaria que no se pueden propagar a la base de datos en espera, active FORZAR REGISTRO en la base de datos primaria antes de realizar copias de seguridad de archivos de datos para la creación en espera.

  • Azure VM Sizing. En estas pruebas y validaciones, utilizamos una VM de Azure - Standard_B4ms con 4 vCPU and16 GiB de memoria. Necesita ajustar el tamaño de la máquina virtual de Azure DB correctamente para el número de vCPU y la cantidad de RAM en función de los requisitos reales de la carga de trabajo.

  • Configuración Azure NetApp Files. Los Azure NetApp Files se asignan en la cuenta de almacenamiento de Azure NetApp como Capacity Pools. En estas pruebas y validaciones, implementamos un pool de capacidad de 3 TiB para alojar Oracle primario en la región Este y una base de datos en espera en la región West 2. El pool de capacidad de ANF tiene tres niveles de servicio: Standard, Premium y Ultra.  La capacidad de I/O del pool de capacidad de ANF se basa en el tamaño del pool de capacidad y su nivel de servicio. En el caso de la puesta en marcha de producción, NetApp recomienda realizar una evaluación completa de los requisitos de rendimiento de la base de datos de Oracle y ajustar el tamaño del pool de capacidad de la base de datos en consecuencia. En la creación de un pool de capacidad, puede establecer la calidad de servicio en Automática o Manual y el cifrado de datos en reposo Única o Doble.  

  • Configuración dNFS. Al utilizar dNFS, una base de datos de Oracle que se ejecuta en una máquina virtual de Azure con almacenamiento ANF puede generar una tasa significativamente superior de I/O que el cliente NFS nativo. La puesta en marcha automatizada de Oracle mediante el kit de herramientas de automatización de NetApp configura automáticamente dNFS en NFSv3.

Puesta en marcha de la solución

Se asume que ya tiene su base de datos Oracle principal implementada en un entorno de cloud de Azure dentro de vnet como punto de partida para configurar Oracle Data Guard. Lo ideal es que la base de datos primaria se ponga en marcha en un almacenamiento ANF con montaje NFS. Se crean tres puntos de montaje NFS para el almacenamiento de la base de datos Oracle: Monte /u01 para los archivos binarios de Oracle, monte /u02 para los archivos de datos de Oracle y un archivo de control, monte /u03 para los archivos log actuales y archivados de Oracle y un archivo de control redundante.

Su base de datos de Oracle principal también puede ejecutarse en un almacenamiento de NetApp ONTAP o en cualquier otra opción de almacenamiento dentro del ecosistema de Azure o en un centro de datos privado. En la siguiente sección se proporcionan procedimientos de implementación paso a paso para configurar un Oracle Data Guard entre una base de datos Oracle primaria en Azure con almacenamiento ANF en una base de datos Oracle física en espera en Azure con almacenamiento ANF.

Requisitos previos para la implementación

Details

La implementación requiere los siguientes requisitos previos.

  1. Se ha configurado una cuenta de cloud de Azure y se han creado las subredes de red y vnet necesarias en su cuenta de Azure.

  2. Desde la consola del portal de la nube de Azure, necesita desplegar al menos tres máquinas virtuales de Azure Linux, una como servidor principal de Oracle DB, una como servidor de Oracle DB en espera y un servidor de base de datos de destino de clonación para informes, desarrollo y pruebas, etc. Consulte el diagrama de arquitectura en la sección anterior para obtener más detalles sobre la configuración del entorno. Consulte también Microsoft "Máquinas virtuales Azure" para obtener más información.

  3. La base de datos Oracle primaria debe haberse instalado y configurado en el servidor de Oracle DB primario. Por otro lado, en el servidor de Oracle DB en espera o en el servidor de Oracle DB clonado, sólo se instala el software de Oracle y no se crea ninguna base de datos Oracle. Lo ideal sería que el diseño de los directorios de ficheros de Oracle coincidiera exactamente en todos los servidores Oracle DB. Para obtener más detalles sobre las recomendaciones de NetApp para la puesta en marcha automatizada de Oracle en el cloud de Azure y ANF, consulte los siguientes informes técnicos para obtener ayuda.

  4. Desde la consola del portal de nube de Azure, implemente dos pools de capacidad de almacenamiento de ANF para alojar los volúmenes de bases de datos de Oracle. Los pools de capacidad de almacenamiento de ANF deben estar situados en diferentes regiones para imitar una configuración de DataGuard real. Si no está familiarizado con la puesta en marcha del almacenamiento de ANF, consulte la documentación "Inicio rápido: Configure Azure NetApp Files y cree un volumen NFS" para obtener instrucciones paso a paso.

    Captura de pantalla que muestra la configuración del entorno de Azure.

  5. Cuando la base de datos Oracle primaria y la base de datos Oracle en espera se encuentran en dos regiones diferentes, se debe configurar un gateway VPN para permitir el flujo de tráfico de datos entre dos VNets independientes. La configuración de redes detallada en Azure no está dentro del alcance de este documento. Las siguientes capturas de pantalla proporcionan alguna referencia sobre cómo se configuran, conectan las puertas de enlace VPN y se confirma el flujo de tráfico de datos en el laboratorio.

    Pasarelas VPN Lab: Captura de pantalla que muestra la configuración del entorno de Azure.

    La puerta de enlace vnet primaria: Captura de pantalla que muestra la configuración del entorno de Azure.

    Estado de conexión de la puerta de enlace de vnet: Captura de pantalla que muestra la configuración del entorno de Azure.

    Compruebe que se han establecido los flujos de tráfico (haga clic en tres puntos para abrir la página): Captura de pantalla que muestra la configuración del entorno de Azure.

Prepare la base de datos primaria para Data Guard

Details

En esta demostración, hemos configurado una base de datos Oracle primaria llamada NTAP en el servidor de la base de datos Azure primaria con tres puntos de montaje NFS: /u01 para el binario de Oracle, /u02 para los archivos de datos de Oracle, y un archivo de control de Oracle, /u03 para los registros activos de Oracle, los archivos de registro archivados y un archivo de control redundante de Oracle. A continuación se muestran los procedimientos detallados para configurar la base de datos primaria para la protección de Oracle Data Guard. Todos los pasos se deben ejecutar como el propietario de la base de datos Oracle o el usuario por defecto oracle.

  1. La base de datos primaria NTAP en el servidor de base de datos de Azure primario orap.internal.cloudapp.net se implementa inicialmente como base de datos independiente con ANF como almacenamiento de base de datos.

    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. Conéctese al servidor de base de datos principal como usuario oracle. Conéctese a la base de datos a través de sqlplus, active el registro forzado en primary.

    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. Desde sqlplus, active el flashback en la base de datos primaria. El flashback permite restablecer fácilmente la base de datos primaria como base de datos en espera después de un failover.

    alter database flashback on;
    SQL> alter database flashback on;
    
    Database altered.
  4. Configurar la autenticación de transporte de redo con el archivo de contraseñas de Oracle: Cree un archivo pwd en el archivo primario mediante la utilidad orapwd si no está definida y cópielo en el directorio $ORACLE_HOME/dbs de la base de datos en espera.

  5. Cree redo logs en espera en la base de datos primaria con el mismo tamaño que el archivo log en línea actual. Los grupos de registros son uno más que los grupos de archivos de registro en línea. A continuación, la base de datos primaria puede realizar una transición rápida al rol en espera cuando se produce un failover y comienza a recibir datos de redo. Repita el siguiente comando cuatro veces para crear cuatro archivos log en espera.

    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. Desde sqlplus, cree un archivo pfile a partir de spfile para su edición.

    create pfile='/home/oracle/initNTAP.ora' from spfile;
  7. Revise el archivo pfile y agregue los siguientes parámetros.

    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. Desde sqlplus, vuelva a crear spfile desde pfile revisado para sobrescribir el spfile existente en el directorio $ORACLE_HOME/dbs.

    create spfile='$ORACLE_HOME/dbs/spfileNTAP.ora' from pfile='/home/oracle/initNTAP.ora';
  9. Modifique Oracle tnsnames.ora en el directorio $ORACLE_HOME/network/admin para agregar db_unique_name para la resolución de nombres.

    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))
    Nota Si decide asignar un nombre diferente al servidor de base de datos de Azure, agregue los nombres al archivo de host local para la resolución del nombre de host.
  10. Agregue el nombre de servicio de data guard NTAP_NY_DGMGRL.internal.cloudapp.net para la base de datos primaria al archivo listener.ora.

    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. Cierre y reinicie la base de datos a través de sqlplus y valide que los parámetros de Data Guard estén activos.

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

De esta forma finaliza la configuración de la base de datos primaria para Data Guard.

Preparar la base de datos en espera y activar Data Guard

Details

Oracle Data Guard necesita la configuración del núcleo del sistema operativo y las pilas de software de Oracle, incluidos los juegos de parches en el servidor de base de datos en espera, para que coincidan con el servidor de base de datos primaria. Para facilitar la gestión y simplificar, la configuración del almacenamiento de la base de datos del servidor de base de datos en espera debería coincidir también con el servidor de base de datos primaria, como el diseño del directorio de la base de datos y los tamaños de los puntos de montaje NFS. A continuación se describen los procedimientos detallados para configurar el servidor de Oracle DB en espera y activar Oracle DataGuard para la protección HA/DR. Todos los comandos se deben ejecutar como el identificador de usuario propietario de Oracle por defecto oracle .

  1. En primer lugar, revise la configuración de la base de datos primaria en el servidor de Oracle DB primario. En esta demostración, hemos configurado una base de datos Oracle primaria denominada NTAP en el servidor de la base de datos primaria con tres montajes NFS en el almacenamiento ANF.

  2. Si sigue la documentación TR-4987 de NetApp para configurar el servidor de base de datos Oracle en espera "TR-4987: Implementación simplificada y automatizada de Oracle en Azure NetApp Files con NFS", utilice una etiqueta -t software_only_install en el paso 2 de Playbook execution para ejecutar la instalación automática de Oracle. La sintaxis del comando revisada se muestra a continuación. La etiqueta permitirá que la pila de software de Oracle se instale y configure, pero no podrá crear una base de datos.

    ansible-playbook -i hosts 4-oracle_config.yml -u azureuser -e @vars/vars.yml -t software_only_install
  3. Configuración del servidor de Oracle DB en espera en la ubicación en espera del laboratorio de demostración.

    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. Una vez instalado y configurado el software de Oracle, defina el directorio raíz y la ruta de acceso de oracle. Además, desde el directorio dbs $ORACLE_HOME en espera, copie la contraseña de oracle de la base de datos primaria si no lo ha hecho.

    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. Actualice el archivo tnsnames.ora con las siguientes entradas.

    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. Agregue el nombre del servicio de protección de datos de base de datos al archivo listener.ora.

    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. Inicie dbca para instanciar la base de datos en espera desde la base de datos primaria NTAP.

    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. Validar la base de datos en espera duplicada. La base de datos en espera recién duplicada se abre inicialmente en modo de SÓLO LECTURA.

    [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. Reinicie la base de datos en espera mount en la etapa y ejecute el siguiente comando para activar la recuperación gestionada de la base de datos en espera.

    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. Validar el estado de recuperación de la base de datos en espera. Observe la recovery logmerger pulg APPLYING_LOG acción.

    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>

De esta forma se completa la configuración de protección de Data Guard para NTAP de primaria a en espera con la recuperación en espera gestionada activada.

Configurar Data Guard Broker

Details

Oracle Data Guard Broker es un marco de gestión distribuida que automatiza y centraliza la creación, el mantenimiento y la supervisión de las configuraciones de Oracle Data Guard. En la siguiente sección se muestra cómo configurar Data Guard Broker para gestionar el entorno de Data Guard.

  1. Inicie Data Guard Broker tanto en la base de datos primaria como en la base de datos en espera con el siguiente comando a través de sqlplus.

    alter system set dg_broker_start=true scope=both;
  2. Desde la base de datos primaria, conéctese a Data Guard Borker como SYSDBA.

    [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. Crear y activar la configuración de Data Guard Broker.

    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. Valide el estado de la base de datos en el marco de gestión de Data Guard Broker.

    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>

En caso de fallo, Data Guard Broker se puede utilizar para conmutar por error la base de datos primaria a la instancia en espera. Si Fast-Start Failover está activado, Data Guard Broker puede realizar un failover de la base de datos primaria a la base de datos en espera cuando se detecta un fallo sin intervención del usuario.

Clonar base de datos en espera para otros casos de uso

Details

La ventaja principal de alojar la base de datos Oracle en espera en ANF en la configuración de Oracle Data Guard es que puede clonarse rápidamente para servir a muchos otros casos de uso con una inversión mínima de almacenamiento adicional si se activa una clonación ligera. NetApp recomienda utilizar la herramienta de interfaz de usuario de SnapCenter para gestionar la base de datos de Oracle DataGuard. En la siguiente sección, mostramos cómo realizar snapshots y clonar los volúmenes de bases de datos en espera montados y bajo recuperación en ANF para otros fines, como DESARROLLO, PRUEBAS, INFORMES, etc., con la herramienta NetApp SnapCenter.

A continuación se muestran procedimientos de alto nivel para clonar una base de DATOS DE LECTURA/ESCRITURA desde la base de datos física en espera gestionada en Oracle Data Guard mediante SnapCenter. Para obtener instrucciones detalladas sobre cómo instalar y configurar SnapCenter para Oracle en ANF, consulte TR-4988 "Oracle Database Backup, Recovery y Clone en ANF con SnapCenter" para obtener más detalles.

  1. Comenzamos la validación de casos de uso creando una tabla de prueba e insertando una fila en la tabla de prueba de la base de datos primaria. A continuación, validaremos que la transacción pasa al modo de espera y, finalmente, al clon.

    [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. En la configuración de SnapCenter, se ha agregado un usuario unix (azureuser para demo) y una credencial de Azure (azure_anf para demo) Credential en Settings.

    Captura de pantalla que muestra este paso en la GUI.

  3. Utilice la credencial azure_anf para agregar el almacenamiento ANF a Storage Systems. Si tienes varias cuentas de almacenamiento de ANF en tu subinscripción de Azure, asegúrate de hacer clic en la lista desplegable para elegir la cuenta de almacenamiento adecuada. Hemos creado dos cuentas de almacenamiento Oracle dedicadas para esta demostración.

    Captura de pantalla que muestra este paso en la GUI.

  4. Todos los servidores de Oracle DB se han agregado a SnapCenter Hosts .

    Captura de pantalla que muestra este paso en la GUI.

    Nota El servidor de la base de datos clonada debe tener instaladas y configuradas pilas de software de Oracle idénticas. En nuestro caso de prueba, el software Oracle 19C se instala y configura pero no se crea ninguna base de datos.
  5. Cree una política de backup adaptada para un backup completo de base de datos sin conexión o montado.

    Captura de pantalla que muestra este paso en la GUI.

  6. Aplicar política de copia de seguridad para proteger la base de datos en espera en Resources el separador. Cuando se detecta inicialmente, el estado de la base de datos se muestra como Not protected.

    Captura de pantalla que muestra este paso en la GUI.

  7. Tiene la opción de activar una copia de seguridad manualmente o ponerla en una programación a una hora determinada después de aplicar una política de copia de seguridad.

    Captura de pantalla que muestra este paso en la GUI.

  8. Después de realizar un backup, haga clic en el nombre de la base de datos para abrir la página Database Backups. Seleccione un backup que se usará para la clonación de la base de datos y, a continuación, haga clic en Clone el botón para iniciar el flujo de trabajo de clonado.

    Captura de pantalla que muestra este paso en la GUI.

  9. Seleccione la Complete Database Clone y asigne el nombre al SID de la instancia del clon.

    Captura de pantalla que muestra este paso en la GUI.

  10. Seleccione el clon DB server, que aloja la base de datos clonada desde la base de datos en espera. Acepte el valor por defecto para los archivos de datos, redo logs. Coloque un archivo de control en el punto de montaje /u03.

    Captura de pantalla que muestra este paso en la GUI.

  11. No se necesitan credenciales de base de datos para la autenticación basada en el sistema operativo. Coincida con el valor del directorio raíz de Oracle con lo configurado en el servidor de base de datos de clonación.

    Captura de pantalla que muestra este paso en la GUI.

  12. Cambie los parámetros de la base de datos clonada si es necesario, como reducir el tamaño de PGA o SGA para una base de datos clonada. Especifique los scripts que se ejecutarán antes del clon, si los hubiera.

    Captura de pantalla que muestra este paso en la GUI.

  13. Introduzca SQL para ejecutar después del clon. En la demostración, ejecutamos comandos para desactivar el modo de archivo de base de datos para una base de datos de desarrollo/prueba/informe.

    Captura de pantalla que muestra este paso en la GUI.

  14. Configure la notificación por correo electrónico si lo desea.

    Captura de pantalla que muestra este paso en la GUI.

  15. Revise el resumen y haga clic en Finish para iniciar el clon.

    Captura de pantalla que muestra este paso en la GUI.

  16. Supervise el trabajo de clonado en Monitor la pestaña. Observamos que tardaba unos 14 minutos en clonar una base de datos de unos 950GB GB de tamaño de volumen de base de datos.

    Captura de pantalla que muestra este paso en la GUI.

  17. Valide la base de datos del clon desde SnapCenter, que se registra de inmediato en Resources tabulador justo después de la operación de clonación.

    Captura de pantalla que muestra este paso en la GUI.

  18. Consulte la base de datos clonada del servidor de base de datos clonada. Validamos que la transacción de prueba que se producía en la base de datos principal se había cruzado hasta la base de datos clonada.

    [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

Esto completa la demostración del clon de base de datos de Oracle en espera en el almacenamiento de Oracle Data Guard en Azure ANF para DESARROLLO, PRUEBAS, INFORMES o cualquier otro caso de uso. Es posible clonar varias bases de datos de Oracle a partir de la misma base de datos en espera en Oracle Data Guard en ANF.

Dónde encontrar información adicional

Si quiere más información sobre la información descrita en este documento, consulte los siguientes documentos o sitios web: