Antes de comenzar
Antes de descubrir, proteger y activar bases de datos de Oracle en un entorno de Windows, asegúrate de verificar lo siguiente:
Verifica los siguientes parámetros de configuración en el servidor de la base de datos:
La base de datos de Oracle y el objeto de escucha de Oracle están en funcionamiento (verifica los servicios de Windows).
Confirma que haya una entrada de tns con el nombre SID. El archivo tnsnames.ora se encuentra en
%ORACLE_HOME%\network\adminEjecuta el siguiente comando para verificar que la entrada de tns sea válida:
%ORACLE_HOME%\bin\tnsping <SID>
Verifica si el modo de registro está configurado en Archive Log:
sql> archive log listSi la base de datos está en modo no-archive log, vuelve a ponerla en modo archive log:
sql> shutdown immediate; sql> startup mount; sql> alter database archivelog; sql> alter database open;Habilita el seguimiento de cambios de bloques de la base de datos. Con el BCT de la base de datos desactivado, el tiempo de la copia de seguridad incremental se ve afectado. La función de seguimiento de cambios de bloques está disponible en Oracle Enterprise Edition. Ejecuta una consulta en SQL para verificar que el seguimiento de cambios de bloques esté habilitado. Ejecuta la consulta:
sqlplus / as sysdba sql> select * from v$block_change_tracking;
Para habilitar el seguimiento de bloques modificados, haz lo siguiente:
sql> alter database enable block change tracking
using file '<Oracle home directory>\orcl.bct';
Crea una copia de seguridad de una base de datos de Oracle en un entorno de Windows
Para crear una copia de seguridad de una base de datos de Oracle en un entorno de Windows, sigue estos pasos:
En la consola de administración del dispositivo, establece Application Details & Settings for Oracle Databases.
Aplica un plan de copia de seguridad para proteger la base de datos.
Problema conocido
En ocasiones, Oracle 19c SQL*Plus (sqlplus.exe) se bloquea en Windows cuando se ejecuta el comando exit (ID de documento 2820655.1). Este error es específico de Windows. Oracle confirmó que este problema se produce en las versiones 19.10, 19.11 y 19.12 de SQL*Plus. Oracle proporcionó estas soluciones:
- Usa SQL*Plus 21.1 o una versión posterior (o)
- Aplica el parche:31466370. Este parche está disponible para las versiones 19.11 y 19.13.
Recupera manualmente las bases de datos de Oracle en un entorno de Windows con RMAN a un punto de copia de seguridad programado si el registro de archivo no está protegido con Backup and DR
Para recuperar una base de datos de Oracle completa en un entorno de Windows, haz lo siguiente:
Activa la instantánea de la copia de seguridad de la base de datos desde Backup and DR en el servidor de Oracle, como se detalla en Activa una base de datos de Oracle como una activación estándar.
Configura el entorno de la base de datos y, luego, iníciala en estado sin activación con el archivo de parámetros del volumen activado de Backup and DR (por ejemplo, para un volumen de base de datos activado en E:):
sqlplus / as sysdba sql> startup nomount pfile='E:\<sid>___backup.ora';Crea un spfile a partir de un pfile:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';Inicia la base de datos con spfile en el estado
nomount:sql> shutdown immediate; sql> startup nomount;Restablece el archivo de control con RMAN desde el volumen activado de Backup and DR:
rman target / rman> restore controlfile from 'E:\cf-D_<sid>-id_<id>.ctl';Activa la base de datos:
rman> alter database mount;Cataloga el archivo de datos y la carpeta de archivos del volumen activado de Backup and DR en RMAN:
rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; }Restablece y recupera la base de datos:
rman> run { restore database; recover database; }Abre la base de datos con la opción de restablecer el registro:
rman> alter database open resetlogs;
Recupera bases de datos de Oracle en un entorno de Windows de forma manual con RMAN a un punto de copia de seguridad programado con el avance del registro de archivo protegido por Backup and DR
Activa la copia de seguridad desde el servidor de la base de datos de origen para recuperarla. Activa la instantánea de copia de seguridad de Backup and DR de vuelta en el servidor de Oracle, como se detalla en Activa una base de datos de Oracle como una activación estándar.
Configura el entorno de la base de datos y, luego, iníciala en estado sin activación con el archivo de parámetros del volumen activado de Backup and DR. En este ejemplo, la copia de seguridad de la base de datos se activa en E:\ y el registro de archivo protegido se activa en Z:.
sqlplus / as sysdbastartup nomount pfile='E:\<sid>___backup.ora';Crea un spfile a partir de un pfile:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';Inicia la base de datos con spfile en el estado nomount:
```sql shutdown immediate; startup nomount; ```Restablece el archivo de control con RMAN desde la copia de seguridad del registro de archivo activado de Backup and DR:
```rman rman target / rman> restore controlfile from 'Z:\cf-D_<sid>-id_<id>.ctl'; ```Activa la base de datos:
```rman rman> alter database mount; ```Cataloga el archivo de datos y la carpeta de archivelog de la copia de seguridad de la base de datos y la copia de seguridad del registro de archivo de Backup and DR en RMAN:
```rman rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; catalog start with 'Z:\archivelog' noprompt; } ```Restablece y recupera la base de datos:
```rman rman> run { restore database; recover database; } ```Para una recuperación de un momento determinado específica, ejecuta el comando de recuperación de la siguiente manera:
```rman rman> run { restore database; recover database until time "to_date('<time stamp>','yyyymmddhh24mi')"; } ```Abre la base de datos con la opción de restablecer el registro:
```rman rman> alter database open resetlogs; ```La base de datos está disponible para lectura y escritura.
Secuencia de comandos de supervisión para observar los volúmenes de la base de datos que se activan
Si creas una activación que reconoce la aplicación, puedes usar una secuencia de comandos de supervisión para mostrar los volúmenes que se activan desde Backup and DR y los procesos de Oracle que se ejecutan. Las activaciones que reconocen aplicaciones se describen en Activa una base de datos de Oracle como una aplicación virtual.
Cuando realices una activación que tenga en cuenta la aplicación, puedes usar esta secuencia de comandos de supervisión. La ubicación de la secuencia de comandos debe ser: C:\Program Files\Backup and DR\scripts. Las secuencias de comandos que se ejecutan en hosts de Windows deben ser archivos .bat o .vbs.
```Windows
@echo off
:loop
echo. > watchtemp
echo ------------------ >> watchtemp
echo Oracle Processes >> watchtemp
echo ------------------ >> watchtemp
tasklist /svc | findstr oracle >> watchtemp
echo. >> watchtemp
echo ------------------ >> watchtemp
echo Backup and DR Mounts >> watchtemp
echo ------------------ >> watchtemp
wmic volume get label, name | findstr Backup and DR >> watchtemp
echo. >> watchtemp
cls
type watchtemp
timeout 2 > null
goto loop
```
Esto produce un resultado como el siguiente:
Oracle Processes
------------------
oracle.exe 1492 OracleServiceORCL
oracle.exe 3768 OracleServiceTestDB
oracle.exe 872 OracleServiceTestDB2
------------------
Backup and DR Mounts
------------------
Backup and DR-Backup-ORCL D:\mount_1