ORACLE IBÉRICA, S.R.L - ADVANCED CUSTOMER SERVICES - oracle data guard 19c

Página creada Urbano Panisello
 
SEGUIR LEYENDO
ORACLE IBÉRICA, S.R.L.
 ADVANCED CUSTOMER SERVICES

       ORACLE DATA GUARD 19C

  INSTALACIÓN Y CONFIGURACIÓN BÁSICA

     SOLUTION SUPPORT CENTER

Referencia documento: InfV5_Configuracion_Data_Guard_19c_v10.doc
Fecha: 25/08/2021
Versión: 1.0

La información incluida en el presente informe es confidencial, siendo para el uso
exclusivo del cliente indicado.
Si usted no es el destinatario del informe le informamos que está totalmente
prohibida cualquier divulgación, distribución o reproducción del contenido de dicho
informe.

Copyright(c) 2.021 ORACLE IBÉRICA
Todos los derechos reservados
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                              25/08/2021

Registro de Cambios

                       Fecha        Autor                      Versión     Notas

                       25/08/2021   David Sánchez de Alcázar   1.0         Creación del documento

Revisiones

                       Nombre                                  Role

                       Agustín Calvo                           Senior Technical Account Manager
                       José María Gómez                        Senior Technical Account Manager

Distribución

                       Copia    Nombre                                Empresa

                       1        Equipo Técnico                        Junta de Andalucía
                       2        Equipo Técnico                        Oracle Soporte ACS
                       3

Certificado ISO-9002                                                                       Pág. 2
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                                                          25/08/2021

                                           Índice de Contenidos

  INTRODUCCIÓN ..................................................................................................................................... 4
  PREPARACIÓN DE LA BASE DE DATOS PRIMARIA ................................................................................... 5
  CONFIGURACIÓN Y COMPROBACIÓN DE CONECTIVIDAD SQL*NET ENTRE LOS SERVIDORES ................ 6
  CREACIÓN DE LA BASE DE DATOS STANDBY ......................................................................................... 8
  CONFIGURACIÓN DE DATA GUARD BROKER ....................................................................................... 11
  COMPROBACIONES Y TAREAS POSTERIORES ........................................................................................ 13

Certificado ISO-9002                                                                                                                           Pág. 3
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                       25/08/2021

Introducción
                       El presente informe recoge los pasos para realizar la configuración de un entorno
                       de respaldo para una base de datos Oracle 19.11 basado en Oracle Data Guard en
                       un entorno Windows.

                       Para ilustrar la operativa, se ha optado por configurar una única base de datos
                       Standby física y para la gestión de Oracle Data Guard se configuró Data Guard
                       Broker.

                       Las fases que se han llevado a cabo son las siguientes:

                        Preparación de la base de datos Primaria

                        Configuración y comprobación de conectividad SQL*Net entre los servidores

                        Creación de la base de datos Standby

                        Configuración de Data Guard Broker

                        Comprobaciones y tareas posteriores

Certificado ISO-9002                                                                            Pág. 4
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                    25/08/2021

Preparación de la base de datos Primaria
                       En primer lugar, comprobamos que la base de datos Primaria se encuentra en
                       modo ARCHIVELOG:
                       SQL> select log_mode from v$database;

                       LOG_MODE
                       ------------
                       ARCHIVELOG

                       En caso de que no hubiese estado en modo ARCHIVELOG, tendríamos que
                       proceder de la siguiente manera:

                       SQL> shutdown immediate;
                       SQL> startup mount;
                       SQL> alter database archivelog;
                       SQL> alter database open;

                       A continuación habilitamos el FORCE LOGGING para asegurarnos que todos los
                       cambios realizados en la Primaria, lleguen a la Standby:
                       SQL> alter database force logging;

                       También en la base de datos Primaria, creamos los standby redo logs. Deben
                       tener, al menos, el tamaño de los redo más grandes, en nuestro caso, 256MB:
                       SQL>   ALTER   DATABASE   ADD   STANDBY   LOGFILE      THREAD    1    GROUP     10
                       ('D:\BDPRIM_BD\STB\STANDBY_REDO01.LOG') SIZE 256M;
                       SQL>   ALTER   DATABASE   ADD   STANDBY   LOGFILE      THREAD    1    GROUP     11
                       ('D:\BDPRIM_BD\STB\STANDBY_REDO02.LOG') SIZE 256M;
                       SQL>   ALTER   DATABASE   ADD   STANDBY   LOGFILE      THREAD    1    GROUP     12
                       ('D:\BDPRIM_BD\STB\STANDBY_REDO03.LOG') SIZE 256M;
                       SQL>   ALTER   DATABASE   ADD   STANDBY   LOGFILE      THREAD    1    GROUP     13
                       ('D:\BDPRIM_BD\STB\STANDBY_REDO04.LOG') SIZE 256M;

                       Y fijamos a AUTO el parámetro standby_file_management. De esta manera, los
                       cambios en ficheros a nivel de sistema operativo, se replican desde la Primaria
                       hacia la Standby:
                       SQL> alter system set standby_file_management=AUTO;

Certificado ISO-9002                                                                         Pág. 5
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                     25/08/2021

Configuración y comprobación de conectividad SQL*Net
entre los servidores
                       En el fichero tnsnames.ora del servidor de la base de datos Primaria tenemos que
                       añadir la entrada para la base de datos Standby BDSTBY. En el fichero
                       listener.ora no tenemos que tocar nada por ahora:
                       BDPRIM =
                        (DESCRIPTION =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_PRIMARY.domain)(PORT = 1521))
                           (CONNECT_DATA =
                             (SERVER = DEDICATED)
                             (SERVICE_NAME = BDPRIM.domain)
                         )
                        )

                       BDSTBY =
                        (DESCRIPTION =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_STANDBY.domain)(PORT = 1521))
                            (CONNECT_DATA =
                              (SERVER = DEDICATED)
                              (SERVICE_NAME = BDSTBY.domain)
                          )
                        )

                       LISTENER_BDPRIM =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_PRIMARY.domain)(PORT = 1521))

                       En el servidor server_standby (Standby) tenemos que crear las entradas para la
                       Primaria y Standby en el fichero tnsnames.ora:
                       BDPRIM =
                        (DESCRIPTION =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_PRIMARY.domain)(PORT = 1521))
                           (CONNECT_DATA =
                             (SERVER = DEDICATED)
                             (SERVICE_NAME = BDPRIM.domain)
                         )
                        )

                       BDSTBY =
                        (DESCRIPTION =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_STANDBY.domain)(PORT = 1521))
                            (CONNECT_DATA =
                              (SERVER = DEDICATED)
                              (SERVICE_NAME = BDSTBY.domain)
                          )
                        )

                       LISTENER_BDSTBY =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_STANDBY.domain)(PORT = 1521))

                       En el servidor server_standby (Standby) tenemos que añadir el registro estático
                       de la Standby en el listener para poder conectarnos:

                       SID_LIST_LISTENER =
                         (SID_LIST =
                           (SID_DESC =
                             (SID_NAME = CLRExtProc)
                             (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                             (PROGRAM = extproc)
                             (ENVS                                                               =
                       "EXTPROC_DLLS=ONLY:C:\APP\ORACLE\product\19.0.0\dbhome_1\bin\oraclr19.dll")

Certificado ISO-9002                                                                          Pág. 6
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                       25/08/2021

                              )
                              (SID_DESC =
                                (GLOBAL_DBNAME = BDSTBY.domain)
                                (SID_NAME = BDSTBY)
                                (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                          )
                         )

                       Tras realizar este cambio, tendremos que reiniciar el listener para que los cambios
                       tomen efecto.

                       Para comprobar que tenemos conectividad correctamente, probamos a conectar a
                       la Primaria desde el servidor de la Standby (server_standby):
                       C:\> sqlplus sys/XXXX@BDPRIM as sysdba

                       SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 18 13:24:01 2021
                       Version 19.11.0.0.0

                       Copyright (c) 1982, 2020, Oracle.     All rights reserved.

                       Connected to:
                       Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
                       Version 19.11.0.0.0

                       SQL>

Certificado ISO-9002                                                                            Pág. 7
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                                     25/08/2021

Creación de la base de datos Standby
                       Para la creación de la base de datos Standby a partir de la Primaria, vamos a
                       seguir la nota de My Oracle Support Step by Step Guide on Creating Physical
                       Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE (Doc ID
                       1075908.1).

                       En primer lugar, copiamos el fichero de passwords de la base de datos Primaria
                       al servidor de la Standby (server_standby) y lo renombramos

                                        Servidor         Ruta                                             Fichero
                       ORIGEN           server_primary   C:\app\oracle\product\19.0.0\dbhome_1\database   PWDBDPRIM.ORA
                       DESTINO          server_standby   C:\app\oracle\product\19.0.0\dbhome_1\database   PWDBDSTBY.ORA

                       En el servidor de la Standby, creamos el init.ora con el que arrancaremos la base
                       de datos:

                       Servidor             Ruta                                                     Fichero
                       server_standby       C:\app\oracle\product\19.0.0\dbhome_1\database           INITBDSTBY.ORA

                       Indicando únicamente el db_name:

                        *.db_name='BDPRIM'

                       Creamos las rutas necesarias en el servidor de la Standby. En nuestro caso son las
                       siguientes:
                        D:\BDSTBY_BD
                        D:\BDSTBY_BD\STB
                        E:\BDSTBY_BD
                        E:\BDSTBY_BD\FRA
                        E:\BDSTBY_BD\FRA\BDSTBY
                        E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG

                       Por ultimo, antes de arrancarla, debemos crear el servicio de Windows para la
                       instancia Standby de la siguiente manera:

                        C:\> oradim –NEW –SID BDSTBY –STARTMODE manual

                       Arrancamos el servicio de forma manual, y ya podemos proceder a arrancar la
                       base de datos Standby indicando el init que creamos anteriormente:

                        C:\> set ORACLE_SID=BDSTBY
                        C:\> sqlplus / as sysdba

                        SQL> STARTUP NOMOUNT
                        PFILE='C:\app\oracle\product\19.0.0\database\dbhome_1\INITBDSTBY.ora';

                       Para lanzar el duplicate, lo haremos desde el servidor de la Standby, conectando
                       a RMAN indicando como target la Primaria y como auxiliary la Standby:

                        C:\> rman target sys/XXXXX@BDPRIM auxiliary sys/XXXXX@BDSTBY

                       Y lanzamos el comando del duplicate:

Certificado ISO-9002                                                                                           Pág. 8
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                        25/08/2021

                        RMAN> duplicate target database
                        for standby
                        from active database
                        dorecover
                        spfile
                        parameter_value_convert='BDPRIM','BDSTBY','bdprim','BDSTBY',
                        'BDPRIM_BD','BDSTBY_BD'
                        set db_name='BDPRIM'
                        set db_unique_name='BDSTBY' COMMENT 'Is standby'
                        set db_file_name_convert='BDPRIM','BDSTBY'
                        set log_file_name_convert='BDPRIM','BDSTBY'
                        set job_queue_processes='0'
                        set local_listener='LISTENER_BDSTBY'
                        nofilenamecheck;

                       El resultado es el siguiente (se muestra un fragmento del inicio y del fin):
                       Recovery Manager : Release 19.0.0.0.0 - Production on Mie Ago 18 08:44:01 2021
                       Version 19.11.0.0.0

                       Copyright (c) 1982, 2021, Oracle and/or its affiliates.   All rights reserved.

                       conectado a la base de datos de destino: BDPRIM (DBID=3470835575)
                       conectado a una base de datos auxiliar: BDPRIM (no montada)

                       RMAN> duplicate target database
                       2> for standby
                       3> from active database
                       4> dorecover
                       5> spfile
                       6> parameter_value_convert='BDPRIM','BDSTBY','bdprim','BDSTBY','BDPRIM_BD','BDSTBY_BD'
                       7> set db_name='BDPRIM'
                       8> set db_unique_name='BDSTBY' COMMENT 'Is standby'
                       9> set db_file_name_convert='BDPRIM','BDSTBY'
                       10> set log_file_name_convert='BDPRIM','BDSTBY'
                       11> set job_queue_processes='0'
                       12> set local_listener='LISTENER_BDSTBY'
                       13> nofilenamecheck;

                       Empezando Duplicate Db a las 18/08/21
                       se utiliza el archivo de control de la base de datos destino en lugar del catalogo de
                       recuperacion
                       canal asignado: ORA_AUX_DISK_1
                       canal ORA_AUX_DISK_1: SID=202 tipo de dispositivo=DISK
                       canal asignado: ORA_AUX_DISK_2
                       canal ORA_AUX_DISK_2: SID=472 tipo de dispositivo=DISK
                       log actual archivado

                       contenido del script de memoria:
                       {
                           backup as copy reuse
                           passwordfile auxiliary format
                       'C:\APP\ORACLE\product\19.0.0\dbhome_1\DATABASE\PWDBDSTBY.ORA'    ;
                           restore clone from service 'BDPRIM' spfile to
                         'C:\APP\ORACLE\PRODUCT\19.0.0\DBHOME_1\DATABASE\SPFILEBDSTBY.ORA';
                           sql clone "alter system set spfile=
                       ''C:\APP\ORACLE\PRODUCT\19.0.0\DBHOME_1\DATABASE\SPFILEBDSTBY.ORA''";
                       }

                       […]

                       secuencia=2171
                       nombre de archivo archive
                       log=E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG\2021_08_18\O1_MF_1_2172_JKSJW302_.ARC thread=1
                       secuencia=2172
                       nombre de archivo archive
                       log=E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG\2021_08_18\O1_MF_1_2173_JKSJWBJC_.ARC thread=1
                       secuencia=2173
                       recuperacion del medio fisico terminada, tiempo transcurrido: 00:00:25
                       Se ha finalizado recover a las 18/08/21

                       contenido del script de memoria:
                       {
                          delete clone force archivelog all;

Certificado ISO-9002                                                                              Pág. 9
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                        25/08/2021

                       }
                       ejecutando script de memoria

                       canal liberado: ORA_DISK_1
                       canal liberado: ORA_DISK_2
                       canal liberado: ORA_AUX_DISK_1
                       canal liberado: ORA_AUX_DISK_2
                       canal asignado: ORA_DISK_1
                       canal ORA_DISK_1: SID=1364 tipo de dispositivo=DISK
                       canal asignado: ORA_DISK_2
                       canal ORA_DISK_2: SID=19 tipo de dispositivo=DISK
                       archive log suprimido
                       nombre de archivo de log
                       archivado=E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG\2021_08_18\O1_MF_1_2171_JKSJW2RH_.ARC
                       RECID=2 STAMP=1080901415
                       archive log suprimido
                       nombre de archivo de log
                       archivado=E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG\2021_08_18\O1_MF_1_2172_JKSJW302_.ARC
                       RECID=1 STAMP=1080901415
                       archive log suprimido
                       nombre de archivo de log
                       archivado=E:\BDSTBY_BD\FRA\BDSTBY\ARCHIVELOG\2021_08_18\O1_MF_1_2173_JKSJWBJC_.ARC
                       RECID=3 STAMP=1080901418
                       3 objetos suprimidos

                       Se ha finalizado Duplicate Db a las 18/08/21

                       RMAN>

Certificado ISO-9002                                                                             Pág. 10
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                     25/08/2021

Configuración de Data Guard Broker
                       Una vez creada la base de datos Standby, a partir de la Primaria, habilitamos
                       Data Guard Broker tanto en la Primaria como en la Standby, lanzando en ambas:

                        SQL> alter system set dg_broker_start=true;

                       A continuación, nos conectamos usando DGMGRL (Data Guard command-line
                       interface) a la Primaria:
                        C:\> DGMGRL
                        DGMGRL> connect sys@BDPRIM

                       Creamos la configuración de Data Guard y la activamos:

                        DGMGRL> create configuration my_dg_config as primary database is BDPRIM
                        connect identifier is BDPRIM;

                        DGMGRL> add database BDSTBY as connect identifier is BDSTBY maintained as
                        physical;

                        DGMGRL> enable configuration;

                       Con el siguiente commando, podemos revisar la configuración:
                        DGMGRL> show configuration;

                        Configuration - my_dg_config
                           Protection Mode: MaxPerformance
                           Members:
                            BDPRIM - Primary database
                            BDSTBY - Physical standby database

                        Fast-Start Failover:   Disabled

                        Configuration Status:
                        SUCCESS   (status updated 19 seconds ago)

                       Y también revisar la parametrización de ambas bases de datos mediante:
                        DGMGRL> show database verbose BDPRIM;
                        DGMGRL> show database verbose BDSTBY;

                       En el fichero listener.ora tendremos que añadir entradas para el Data Guard
                       Broker. En el servidor de la Primaria (server_primary) añadiremos:
                       SID_LIST_LISTENER =
                         (SID_LIST =
                           (SID_DESC =
                             (SID_NAME = CLRExtProc)
                             (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                             (PROGRAM = extproc)
                             (ENVS                                                               =
                       "EXTPROC_DLLS=ONLY:C:\APP\ORACLE\product\19.0.0\dbhome_1\bin\oraclr19.dll")
                           )
                            (SID_DESC =
                             (GLOBAL_DBNAME = BDPRIM_DGMGRL.domain)
                             (SID_NAME = BDPRIM)
                             (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                           )
                         )

Certificado ISO-9002                                                                          Pág. 11
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                     25/08/2021

                       Y en el servidor de la Standby (server_standby) añadiremos:
                       SID_LIST_LISTENER =
                         (SID_LIST =
                            (SID_DESC =
                              (SID_NAME = CLRExtProc)
                              (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                              (PROGRAM = extproc)
                              (ENVS                                                              =
                       "EXTPROC_DLLS=ONLY:C:\APP\ORACLE\product\19.0.0\dbhome_1\bin\oraclr19.dll")
                            )
                            (SID_DESC =
                              (GLOBAL_DBNAME = BDSTBY.domain)
                              (SID_NAME = BDSTBY)
                              (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                          )
                            (SID_DESC =
                              (GLOBAL_DBNAME = BDSTBY_DGMGRL.domain)
                              (SID_NAME = BDSTBY)
                              (ORACLE_HOME = C:\APP\ORACLE\product\19.0.0\dbhome_1)
                          )
                         )

                       Para que los cambios tomen efecto, tendremos que reiniciar ambos listeners. Para
                       comprobar que es correcto, podemos probar el siguiente comando desde
                       DGMGRL:
                       DGMGRL> validate database BDSTBY;

                         Database Role:      Physical standby database
                         Primary Database:   bdprim

                         Ready for Switchover:   Yes
                         Ready for Failover:     Yes (Primary Running)

                         Flashback Database Status:
                           BDPRIM   : Off
                           BDSTBY   : Off

                         Managed by Clusterware:
                           BDPRIM   : NO
                           BDSTBY   : NO
                           Validating static connect identifier for the primary database bdprim...
                           The static connect identifier allows for a connection to database
                       "bdprim".

Certificado ISO-9002                                                                          Pág. 12
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                        25/08/2021

Comprobaciones y tareas posteriores
                       Una vez configurado nuestro Data Guard, podemos comprobar el estado de la
                       sincronización de la Standby con la siguiente consulta:

                       SQL>   SELECT   ARCH.THREAD#    "Thread",    ARCH.SEQUENCE#    "Last   Sequence
                       Received",APPL.SEQUENCE#   "Last    Sequence   Applied",    (ARCH.SEQUENCE#   -
                       APPL.SEQUENCE#)   "Difference"    FROM   (SELECT   THREAD#    ,SEQUENCE#   FROM
                       V$ARCHIVED_LOG      WHERE      (THREAD#,FIRST_TIME       )      IN      (SELECT
                       THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,(SELECT
                       THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN
                       (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
                       WHERE ARCH.THREAD# = APPL.THREAD# ORDER BY 1;

                           Thread Last Sequence Received Last Sequence Applied Difference
                       ---------- ---------------------- --------------------- ----------
                                1                  22169                 22169          0

                       También podemos ver algunas estadísticas del Data Guard mediante:
                       SQL> select source_db_unique_name, name, value from v$dataguard_stats;

                       SOURCE_DB_UNIQUE_NAME    NAME                     VALUE
                       ---------------------    ----------------------   --------------------
                       BDPRIM                   transport lag            +00 00:00:00
                       BDPRIM                   apply lag                +00 00:00:00
                       BDPRIM                   apply finish time        +00 00:00:00.000
                                                estimated startup time   39

                       Una vez comprobada que la sincronización se está realizando correctamente,
                       tendremos que cambiar la configuración de RMAN para que no se eliminen los
                       archivelogs en la Primaria hasta que se hayan enviado a la Standby. Para ello, nos
                       conectamos al catálogo desde la Primaria y lanzamos:

                       C:/> rman target / catalog rman/XXXX@CATRMAN
                       RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY BACKED
                       UP 1 TIMES TO DISK;

                       Y para gestionar los archivelogs, en la Standby, añadiremos un script de RMAN
                       que elimine los más antiguos de 3 días y haga copia del control file y spfile de la
                       Standby. Primero configuramos lo siguiente en caso de que aún no esté
                       configurado en la Standby:

                       C:\> rman   target /
                       RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 8 DAYS;
                       RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
                       RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE                DISK   TO
                       'F:\ORABACKUP\BDSTBY\controlfile_bdstby_%F';
                       RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;

                       A continuación, programamos en el Programador de Tareas de Windows el
                       siguiente script:

                       backup_BDSTBY.bat
                       @echo off
                       SET HORA2=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
                       IF "%HORA2:~0,1%" == " " SET HORA2=0%HORA2:~1%

Certificado ISO-9002                                                                             Pág. 13
   Nº: 20845/G
InfV5_Configuracion_Data_Guard_19c_v10.doc
                                                                                                        25/08/2021

                       SET HORA=%HORA2%
                       set NLS_DATE_FORMAT=DD-MM-YYYY hh24:mi:ss
                       SET ORACLE_SID=BDSTBY
                       SET
                       LOGD=F:\ORABACKUP\LogsBackup\LOG_RMAN_%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%HORA%_%ORACLE_
                       SID%.txt

                       rman target / nocatalog @'C:\OSS\RMAN\rman_BDSTBY.cmd' >> %LOGD%

                       FORFILES /p F:\ORABACKUP\LogsBackup /s /m *.TXT /d -8 /C "cmd /c               del   /q
                       F:\ORABACKUP\LogsBackup\@FILE"
                       FORFILES   /p  F:\ORABACKUP\BDSTBY /s /m *.rcv /d -8 /C  "cmd /c              del    /q
                       F:\ORABACKUP\BDSTBY\@FILE"

                       Que a su vez llama a:

                       rman_BDSTBY.cmd
                       run
                       {
                       CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT
                       'F:\ORABACKUP\BDSTBY\rman_BDSTBY_spfile_%U.rcv' MAXPIECESIZE 4G;
                       BACKUP SPFILE;
                       DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-3';
                       }

                       Al tener activado el autobackup del controlfile, ya se hace automáticamente.

                       Por último, faltaría añadir un script en el arranque del servidor de la base de
                       datos Standby (server_standby) para que monte la base de datos Standby tal y
                       como se indica en la nota de My Oracle Support Prevent Physical Standby Database
                       Open Read Only on Windows Service Startup (Doc ID 2239846.1):

                       startupmount.bat
                       net start OracleServiceBDSTBY
                       timeout 30
                       set ORACLE_HOME=C:\APP\ORACLE\product\19.0.0\dbhome_1
                       set ORACLE_SID=BDSTBY
                       C:\APP\ORACLE\product\19.0.0\dbhome_1\bin\sqlplus -s "/ as sysdba"
                       @C:\OSS\ArranqueSTANDBY\startupmount.sql

                       startupmount.sql
                       startup mount;
                       exit;

Certificado ISO-9002                                                                             Pág. 14
   Nº: 20845/G
También puede leer