Skip to main content
NetApp database 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 costos de Oracle Active Data Guard con Azure NetApp Files

Colaboradores netapp-revathid kevin-hoke

La solución proporciona una descripción general y detalles para configurar Oracle Data Guard utilizando Microsoft Azure NetApp Files (ANF) como almacenamiento de base de datos principal y en espera para reducir los costos operativos y de licencia de la solución Oracle Data Guard HA/DR en la nube de Azure.

Objetivo

Oracle Data Guard garantiza alta disponibilidad, protección de datos y recuperación ante desastres para datos empresariales en una configuración de replicación de base de datos principal y de 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 principal a las bases de datos en espera. Data Guard es una característica de Oracle Database Enterprise Edition. No requiere licencia separada. Por otro lado, Active Data Guard es una opción de Oracle Database Enterprise Edition y, por lo tanto, requiere una licencia independiente. Varias bases de datos en espera pueden recibir replicación de datos desde una base de datos principal en la configuración de Active Data Guard. Sin embargo, cada base de datos de reserva adicional requiere una licencia de Active Data Guard y almacenamiento adicional al tamaño de la base de datos principal. Los costos operativos se acumulan rápidamente.

Si desea reducir el costo de su operación de base de datos Oracle y planea configurar un Active Data Guard en la nube de Azure, debería considerar una alternativa. En lugar de Active Data Guard, use Data Guard para replicar desde la base de datos principal a una única base de datos física en espera en el almacenamiento de Azure NetApp Files . Posteriormente, se pueden clonar múltiples copias de esta base de datos en espera y abrirlas para acceso de lectura y escritura para atender muchos otros casos de uso, como informes, desarrollo, pruebas, etc. Los resultados netos ofrecen de manera efectiva las funcionalidades de Active Data Guard y al mismo tiempo eliminan la licencia de Active Data Guard. En esta documentación, demostramos cómo configurar Oracle Data Guard con su base de datos principal existente y su base de datos física en espera en el almacenamiento ANF. Se realiza una copia de seguridad de la base de datos en espera y se clona para acceso de lectura y escritura para casos de uso según lo deseado a través de la herramienta de administración de base de datos NetApp SnapCenter . El equipo de ingeniería de soluciones de NetApp también proporciona un kit de herramientas de automatización para actualizar el clon según un cronograma definido por el usuario para una gestión completa y automatizada del ciclo de vida de la clonación de base de datos sin necesidad de intervención del usuario.

Esta solución aborda los siguientes casos de uso:

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

  • Realice una copia de seguridad y clone la base de datos física en espera para atender casos de uso como informes, desarrollo, pruebas, etc.

  • Gestión del ciclo de vida de actualización de clones de bases de datos de Oracle a través de la automatización.

Audiencia

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

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

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

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

  • Un propietario de una aplicación a quien le gusta implementar Oracle Data Guard en un entorno de nube de Azure.

Entorno de prueba y validación de soluciones

La prueba y validación de esta solución se realizó en una configuración de laboratorio en la nube de Azure que podría no coincidir con el entorno de implementación del usuario real. Para más información, consulte la sección Factores clave a considerar en la implementación .

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 grupos de capacidad de 3 TiB, nivel de servicio estándar, QoS automático

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

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

Tres máquinas virtuales de base de datos, una como servidor de base de datos principal, una como servidor de base de datos en espera y la tercera como servidor de base de datos clonado

Software

Red Hat Linux

Red Hat Enterprise Linux 8.6 (LVM) - x64 Gen2

Se implementó una suscripción a RedHat para realizar 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

Versión 6.0.1.4487

Sistema Nacional de Archivos

Versión 3.0

dNFS habilitado para Oracle

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

Base de datos

NOMBRE ÚNICO DE LA BASE DE DATOS

Nombre del servicio Oracle Net

Primario

NTAP_NY

NTAP_NY.internal.cloudapp.net

Apoyar

NTAP_LA

NTAP_LA.internal.cloudapp.net

Factores clave a considerar en la implementación

  • Clonación de base de datos en espera. Al recibir y aplicar registros de transacciones de la base de datos principal, la base de datos física en espera se puede clonar y montar en una máquina virtual de base de datos para soportar otras cargas de trabajo como DEV, TEST o Report. El clon puede ser un clon delgado o grueso. En este momento, ANF solo admite clones gruesos, que son una copia completa de la base de datos en espera. La opción de clon delgado de ANF se lanzará en breve. Para copias clonadas finamente de volúmenes de bases de datos, comparte los mismos volúmenes de base de datos de la base de datos en espera y utiliza tecnología de copia en escritura para dar servicio a las E/S de escritura. Por lo tanto, los clones son muy eficientes en términos de almacenamiento y pueden usarse para muchos otros casos de uso con una asignación de almacenamiento nuevo mínima e incremental para nuevas E/S de escritura. Esto proporciona un enorme ahorro en costos de almacenamiento al reducir sustancialmente el espacio de almacenamiento de Active Data Guard. NetApp recomienda minimizar las actividades de FlexClone en caso de que la base de datos cambie del almacenamiento principal al almacenamiento ANF en espera para mantener el rendimiento de Oracle en un alto nivel.

  • Requisitos del software de Oracle. En general, una base de datos física en espera debe tener la misma versión de Database Home que la base de datos principal, incluidas las excepciones de conjunto de parches (PSE), las actualizaciones de parches críticos (CPU) y las actualizaciones de conjunto de parches (PSU), a menos que esté en curso un proceso de aplicación de parches de Oracle Data Guard Standby-First (como se describe en la nota 1265700.1 de My Oracle Support en"soporte.oracle.com" .

  • Consideraciones sobre la estructura del directorio de la base de datos en espera Si es posible, los archivos de datos, archivos de registro y archivos de control en los sistemas principal y en espera deben tener los mismos nombres y nombres de ruta y utilizar las convenciones de nombres de Arquitectura Flexible Óptima (OFA). Los directorios de archivo de la base de datos de reserva también deben ser idénticos entre los sitios, incluido el tamaño y la estructura. Esta estrategia permite que otras operaciones, como copias de seguridad, conmutaciones y conmutaciones por error, ejecuten el mismo conjunto de pasos, lo que reduce la complejidad del mantenimiento.

  • Modo de registro forzado. Para protegerse contra escrituras directas no registradas en la base de datos principal que no se pueden propagar a la base de datos en espera, active FORZAR REGISTRO en la base de datos principal antes de realizar copias de seguridad de archivos de datos para la creación de la base de datos en espera.

  • Dimensionamiento de máquinas virtuales de Azure. En estas pruebas y validaciones, utilizamos una VM de Azure: Standard_B4ms con 4 vCPU y 16 GiB de memoria. Debe dimensionar la máquina virtual de Azure DB adecuadamente para la cantidad de vCPU y la cantidad de RAM en función de los requisitos de carga de trabajo reales.

  • * Configuración de 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 grupo de capacidad de 3 TiB para alojar la base de datos principal de Oracle en la región Este y una base de datos de reserva en la región Oeste 2. El fondo de capacidad de ANF tiene tres niveles de servicio: Estándar, Premium y Ultra.   La capacidad de E/S del grupo de capacidad de ANF se basa en el tamaño del grupo de capacidad y su nivel de servicio. Para la implementación de producción, NetApp recomienda realizar una evaluación completa de los requisitos de rendimiento de su base de datos Oracle y dimensionar el grupo de capacidad de la base de datos en consecuencia. Al crear un grupo de capacidad, puede configurar la calidad de servicio en Automático o Manual y el cifrado de datos en reposo en Simple o Doble.  

  • Configuración de dNFS. Al usar dNFS, una base de datos Oracle que se ejecuta en una máquina virtual de Azure con almacenamiento ANF puede generar significativamente más E/S que el cliente NFS nativo. La implementación automatizada de Oracle mediante el kit de herramientas de automatización de NetApp configura automáticamente dNFS en NFSv3.

Implementación de la solución

Se supone que ya tiene su base de datos Oracle principal implementada en un entorno de nube de Azure dentro de una VNet como punto de partida para configurar Oracle Data Guard. Lo ideal es que la base de datos principal se implemente en un almacenamiento ANF con montaje NFS. Se crean tres puntos de montaje NFS para el almacenamiento de la base de datos de Oracle: mount /u01 para los archivos binarios de Oracle, mount /u02 para los archivos de datos de Oracle y un archivo de control, mount /u03 para los archivos de registro actuales y archivados de Oracle, y un archivo de control redundante.

Su base de datos Oracle principal también puede ejecutarse en un almacenamiento NetApp ONTAP o en cualquier otro almacenamiento de su elección, ya sea dentro del ecosistema de Azure o en un centro de datos privado. La siguiente sección proporciona procedimientos de implementación paso a paso para configurar Oracle Data Guard entre una base de datos Oracle principal en Azure con almacenamiento ANF y 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 en la nube de Azure y se han creado las subredes de red y VNet necesarias dentro de su cuenta de Azure.

  2. Desde la consola del portal de nube de Azure, debe implementar un mínimo de tres máquinas virtuales Linux de Azure: una como servidor de base de datos Oracle principal, otra como servidor de base de datos Oracle en espera y un servidor de base de datos de destino clonado 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. Revise también Microsoft"Máquinas virtuales de Azure" Para más información.

  3. La base de datos Oracle principal debería haberse instalado y configurado en el servidor Oracle DB principal. Por otro lado, en el servidor Oracle DB en espera o en el servidor Oracle DB clonado, solo se instala el software de Oracle y no se crean bases de datos Oracle. Lo ideal sería que el diseño de los directorios de archivos de Oracle coincida exactamente en todos los servidores de base de datos Oracle. Para obtener detalles sobre la recomendación de NetApp para la implementación automatizada de Oracle en la nube 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 grupos de capacidad de almacenamiento ANF para alojar volúmenes de bases de datos de Oracle. Los grupos de capacidad de almacenamiento de ANF deben estar ubicados en diferentes regiones para imitar una verdadera configuración de DataGuard. Si no está familiarizado con la implementación del almacenamiento ANF, consulte la documentación"Inicio rápido: configurar Azure NetApp Files y crear 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 principal de Oracle y la base de datos de Oracle en espera están ubicadas en dos regiones diferentes, se debe configurar una puerta de enlace VPN para permitir el flujo de tráfico de datos entre dos redes virtuales independientes. La configuración de red detallada en Azure está más allá del alcance de este documento. Las siguientes capturas de pantalla brindan una referencia sobre cómo se configuran y conectan las puertas de enlace VPN, y cómo se confirma el flujo del tráfico de datos en el laboratorio.

    Puertas de enlace VPN de laboratorio:Captura de pantalla que muestra la configuración del entorno de Azure.

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

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

    Validar que los flujos de tráfico estén establecidos (click en los tres puntos para abrir la página):Captura de pantalla que muestra la configuración del entorno de Azure.

Preparar la base de datos principal para Data Guard

Details

En esta demostración, configuramos una base de datos Oracle principal llamada NTAP en el servidor Azure DB principal 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 de Oracle redundante. A continuación se ilustran los procedimientos detallados para configurar la base de datos principal para la protección de Oracle Data Guard. Todos los pasos deben ejecutarse como propietario de la base de datos Oracle o como predeterminado. oracle usuario.

  1. La base de datos principal NTAP en el servidor de base de datos principal de Azure orap.internal.cloudapp.net se implementa inicialmente como una 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. Inicie sesión en el servidor de base de datos principal como usuario Oracle. Inicie sesión en la base de datos a través de sqlplus, habilite el registro forzado en la base de datos principal.

    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, habilite el flashback en la base de datos principal. Flashback permite restablecer fácilmente la base de datos principal como reserva después de una conmutación por error.

    alter database flashback on;
    SQL> alter database flashback on;
    
    Database altered.
  4. Configure la autenticación de transporte de rehacer usando el archivo de contraseña de Oracle: cree un archivo pwd en el directorio principal usando la utilidad orapwd si no está configurada y cópielo en el directorio de la base de datos en espera $ORACLE_HOME/dbs.

  5. Cree registros de rehacer en espera en la base de datos principal con el mismo tamaño que el archivo de registro en línea actual. Los grupos de registros son uno más de los grupos de archivos de registro en línea. La base de datos principal puede luego pasar rápidamente a la función de espera cuando ocurre una conmutación por error y comienza a recibir datos de rehacer. Repita el siguiente comando cuatro veces para crear cuatro archivos de registro 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 pfile a partir de spfile para editarlo.

    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 el spfile a partir del 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 nombrar su servidor de Azure DB de forma diferente al predeterminado, agregue los nombres al archivo de host local para la resolución del nombre de host.
  10. Agregue el nombre del servicio de protección de datos NTAP_NY_DGMGRL.internal.cloudapp.net para la base de datos principal 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. Apague y reinicie la base de datos a través de sqlplus y valide que los parámetros de Data Guard ahora 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
    .
    .

Esto completa la configuración de la base de datos principal para Data Guard.

Preparar la base de datos en espera y activar Data Guard

Details

Oracle Data Guard requiere la configuración del kernel del sistema operativo y pilas de software de Oracle, incluidos conjuntos de parches en el servidor de base de datos en espera para que coincida con el servidor de base de datos principal. Para una fácil administración y simplicidad, la configuración de almacenamiento de la base de datos del servidor de base de datos en espera idealmente también debería coincidir con la del servidor de base de datos principal, 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 detallan los procedimientos para configurar el servidor Oracle DB en espera y activar Oracle DataGuard para la protección HA/DR. Todos los comandos deben ejecutarse como el ID de usuario propietario de Oracle predeterminado oracle .

  1. Primero, revise la configuración de la base de datos principal en el servidor Oracle DB principal. En esta demostración, configuramos una base de datos Oracle principal llamada NTAP en el servidor de base de datos principal con tres montajes NFS en almacenamiento ANF.

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

    ansible-playbook -i hosts 4-oracle_config.yml -u azureuser -e @vars/vars.yml -t software_only_install
  3. La configuración del servidor Oracle DB en espera en el sitio de espera en el 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, configure la ruta y el directorio de inicio de Oracle. Además, desde el directorio de bases de datos en espera $ORACLE_HOME, copie la contraseña de Oracle de la base de datos principal 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 crear una instancia de la base de datos en espera desde la base de datos principal 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 SOLO 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 en mount Ponga en escena y ejecute el siguiente comando para activar la recuperación administrada 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. Tenga en cuenta el recovery logmerger en 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>

Esto completa la configuración de protección de Data Guard para NTAP desde el modo principal al modo en espera con la recuperación en espera administrada habilitada.

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. La siguiente sección demuestra cómo configurar Data Guard Broker para administrar el entorno de Data Guard.

  1. Inicie Data Guard Broker en las bases de datos principal y en la de reserva con el siguiente comando a través de sqlplus.

    alter system set dg_broker_start=true scope=both;
  2. Desde la base de datos principal, 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. Cree y habilite 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. Validar el estado de la base de datos dentro del 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 falla, se puede utilizar Data Guard Broker para conmutar por error la base de datos principal a la base de datos en espera de manera instantánea. Si Fast-Start Failover está habilitado, Data Guard Broker puede conmutar por error la base de datos principal a la base de datos en espera cuando se detecta una falla sin intervención del usuario.

Clonar base de datos en espera para otros casos de uso

Details

El beneficio clave de alojar la base de datos en espera de Oracle en el ANF en la configuración de Oracle Data Guard es que se puede clonar rápidamente para atender a muchos otros casos de uso con una inversión mínima de almacenamiento adicional si se habilita un clon delgado. NetApp recomienda utilizar la herramienta de interfaz de usuario SnapCenter para administrar su base de datos Oracle DataGuard. En la siguiente sección, demostramos cómo crear instantáneas y clonar los volúmenes de base de datos montados y en espera de recuperación en el ANF para otros fines, como DEV, TEST, REPORT, etc., utilizando la herramienta NetApp SnapCenter .

A continuación se presentan procedimientos de alto nivel para clonar una base de datos de LECTURA/ESCRITURA desde la base de datos física en espera administrada en Oracle Data Guard usando SnapCenter. Para obtener instrucciones detalladas sobre cómo configurar SnapCenter para Oracle en ANF, consulte TR-4988"Copia de seguridad, recuperación y clonación de bases de datos Oracle en ANF con SnapCenter" Para más detalles.

  1. Comenzamos la validación del caso de uso creando una tabla de prueba e insertando una fila en la tabla de prueba en la base de datos principal. Luego validaremos que la transacción pase al modo en 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 agregó un usuario Unix (azureuser para demostración) y una credencial de Azure (azure_anf para demostración). 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 tiene varias cuentas de almacenamiento ANF en su suscripción de Azure, asegúrese de hacer clic en la lista desplegable para elegir la cuenta de almacenamiento correcta. 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 Oracle DB se han agregado a SnapCenter Hosts .

    Captura de pantalla que muestra este paso en la GUI.

    Nota El servidor de base de datos clonado debe tener pilas de software Oracle idénticas instaladas y configuradas. En nuestro caso de prueba, se instala y configura el software Oracle 19C, pero no se crea ninguna base de datos.
  5. Cree una política de respaldo adaptada para copias de seguridad completas de bases de datos montadas o sin conexión.

    Captura de pantalla que muestra este paso en la GUI.

  6. Aplicar la política de respaldo para proteger la base de datos en espera en Resources pestaña. Cuando se descubre 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 programarla en un momento determinado 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 una copia de seguridad, haga clic en el nombre de la base de datos para abrir la página de copias de seguridad de la base de datos. Seleccione una copia de seguridad que se utilizará para clonar la base de datos y haga clic en Clone Botón para iniciar el flujo de trabajo de clonación.

    Captura de pantalla que muestra este paso en la GUI.

  9. Seleccione el Complete Database Clone y nombrar el SID de la instancia clonada.

    Captura de pantalla que muestra este paso en la GUI.

  10. Seleccione el servidor de base de datos clonada, que aloja la base de datos clonada de la base de datos en espera. Acepte los valores predeterminados para los archivos de datos y rehaga los registros. 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 sistema operativo. Haga coincidir la configuración de inicio de Oracle con lo que está configurado en el servidor de base de datos clonado.

    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 de la clonación, si corresponde.

    Captura de pantalla que muestra este paso en la GUI.

  13. Introduzca SQL para ejecutar después de la clonación. 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, haga clic Finish para iniciar el clon.

    Captura de pantalla que muestra este paso en la GUI.

  16. Supervisar el trabajo de clonación en Monitor pestaña. Observamos que tomó alrededor de 14 minutos clonar una base de datos con un tamaño de volumen de base de datos de aproximadamente 950 GB.

    Captura de pantalla que muestra este paso en la GUI.

  17. Validar la base de datos clonada de SnapCenter, que se registra inmediatamente en Resources Pestaña justo después de la operación de clonación.

    Captura de pantalla que muestra este paso en la GUI.

  18. Consulta la base de datos clonada desde el servidor de base de datos clonada. Validamos que la transacción de prueba que ocurrió en la base de datos principal hubiera recorrido 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 en espera de Oracle en el almacenamiento ANF de Oracle Data Guard en Azure para DEV, TEST, REPORT o cualquier otro caso de uso. Es posible clonar varias bases de datos Oracle desde la misma base de datos en espera en Oracle Data Guard en ANF.

Dónde encontrar información adicional

Para obtener más información sobre la información descrita en este documento, revise los siguientes documentos y/o sitios web: