Antes de comenzar, te recomendamos que revises Backup and DR para Oracle.
Antes de crear copias de seguridad de las bases de datos de Oracle, debes agregar el servidor de Oracle como un host a Backup and DR. Para que esto funcione, asegúrate de consultar los requisitos previos para crear copias de seguridad de una base de datos de Oracle y, luego, sigue estos pasos de preparación.
Prepara bases de datos de Oracle en un entorno de Linux
Antes de proteger una base de datos de Oracle o si fallan los trabajos de protección de la base de datos, asegúrate de que los siguientes parámetros de configuración sean correctos en el servidor de la base de datos de Oracle.
- Cada base de datos de Oracle que se protegerá debe estar en funcionamiento. Por ejemplo:
database: actdb
ps -ef | grep pmon | grep -i actdb
oracle 27688 1 0 2015 ? 00:26:24 ora_pmon_actdb
- La base de datos debe ejecutarse en modo de registro de archivo. Para verificar que la base de datos se ejecute en modo de registro de archivo, accede al servidor de la base de datos como usuario del SO de Oracle y configura la variable de entorno de la base de datos:
export ORACLE_HOME=<oracle home path>
# Get this from /etc/oratab
export ORACLE_SID=<database instance name>
export PATH=$ORACLE_HOME/bin:$PATH
Login to sqlplus:
sqlplus / as sysdba
archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +FRA
Oldest online log sequence 569
Next log sequence to archive 570
Current log sequence 570
Note: If archive log mode is not enabled then get archive mode enabled
before proceeding.
- La base de datos debería usar
spfile. Verifica que la base de datos se esté ejecutando conspfile:
sqlplus / as sysdba
show parameter spfile
NAME TYPE VALUE
------------------ ----------- ------------
spfile string +DATA/ctdb/spfilectdb.ora
Note: If the value is `null_` then
get the spfile set. Backup and DR supports backing up using pfile as well.
pfile should be available in default location. For example, a
Linux `pfile` should be located under `$ORACLE_HOME/dbs`.
Para la base de datos de Oracle RAC, el archivo de control de instantáneas debe ubicarse en discos compartidos. Para una base de datos de Oracle RAC en ASM, el archivo de control de instantáneas debe ubicarse en discos compartidos.
Para verificar esto, conéctate a RMAN y ejecuta el comando
show all. Configúrala si es necesario:rman target /Luego, en RMAN, haz lo siguiente:
show allLos parámetros de configuración de RMAN para la base de datos con db_unique_name CTDB son los siguientes:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';
This example shows the configuration set to the local file system.
In a RAC environment, this must be set to shared ASM Disk Group. To put it
on the ASM Disk Group, use:
```bash
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+(disk group name)/snap_(database name).f';
```
Prepárate para crear una copia de seguridad de una base de datos de Oracle con archivos de datos en un grupo de discos de ASM
Disco de etapa de pruebas de Backup and DR en un grupo de discos de ASM
El parámetro diskstring de ASM debe estar configurado y no debe ser nulo. Accede al servidor de la base de datos como usuario del SO de ASM y configura la variable de entorno de ASM:
export ORACLE_HOME=(oracle ASM home path)
# Get this from /etc/oratab
export ORACLE_SID=(ASM instance name)
export PATH=$ORACLE_HOME/bin:$PATH
Conéctate a sqlplus:
sqlplus / as sysasm
show parameter asm_diskstring
NAME TYPE VALUE
------------------- ----------- ------------------------------
asm_diskstring string ORCL:*, /dev/sdt1, /dev/sdu1
Si el resultado del valor es nulo, obtén el valor de cadena de disco de ASM correcto
para los discos de ASM existentes antes de continuar con la protección de Backup and DR. La copia de seguridad de Backup and DR agrega su ruta de cadena de disco
(/dev/Backup and DR/asm/*) para que su disco de copia de seguridad de etapa de pruebas
se asigne a ASM.
Disco de etapa de pruebas de Backup and DR en el sistema de archivos
Si proteges una base de datos de ASM de Oracle en un sistema de archivos, Convertir ASM en sistema de archivos debe establecerse en Sí en Detalles y configuración de la aplicación. Consulta Detalles y configuración de la aplicación para bases de datos de Oracle.
Prepara la autenticación de la base de datos de Oracle
Los siguientes pasos de preparación adicionales solo son necesarios si planeas usar la autenticación de la base de datos. La autenticación de la base de datos de Oracle se describe en Backup and DR using database authentication.
Sigue los pasos que se indican en Prepara bases de datos de Oracle en un entorno de Linux.
Crea una cuenta de usuario de base de datos para la copia de seguridad de Backup and DR, si no se proporciona:
create user act_rman_user identified by <password>;
- Otorga acceso de
sysdbaa todos los nodos de RAC. Para ello, accede asqlplusen todos los nodos y ejecuta lo siguiente:
grant create session, resource, sysdba to act_rman_user;
Para Oracle 12c, este rol puede ser sysbackup en lugar de of sysdba, y el
nombre de usuario de la base de datos comienza con #.
- Verifica que se haya otorgado el rol
sysdbaen todos los nodos del entorno de RAC:
sqlplus / as sysasm
select * from gv$pwfile_users;
INST_ID USERNAME SYSDB SYSOP SYSAS
---------- -------------- ----- ----- -----
1 SYS TRUE TRUE FALSE
2 SYS TRUE TRUE FALSE
1 ACT_RMAN_USER TRUE TRUE FALSE
2 ACT_RMAN_USER TRUE TRUE FALSE
Prueba el nombre del servicio según el tipo de entorno con las siguientes instrucciones:
Crea y verifica el nombre del servicio de Oracle en un entorno que no sea de RAC
El nombre del servicio de Oracle se usa solo para la autenticación de la base de datos. No es necesario para la autenticación del SO.
Ejemplo:
Nombre de la base de datos: dbstd,
Nombre de la instancia: dbstd
- Si no aparece el nombre del servicio de Oracle, crea la entrada del nombre del servicio en el archivo
tnsnames.oraen$ORACLE_HOME/network/admino en$GRID_HOME/network/adminagregando la entrada:
act_svc_dbstd =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server))(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dbstd)
) )
Si el archivo tnsnames.ora se encuentra en una ubicación no estándar,
proporciona la ruta de acceso absoluta en Detalles y configuración de la aplicación,
como se describe en Detalles y configuración de la aplicación para bases de datos de Oracle.
Prueba la entrada del nombre del servicio para la base de datos y asegúrate de que esté configurada:
Accede como usuario del SO de Oracle y configura el entorno de Oracle:
TNS_ADMIN=(tnsnames.ora file location)
tnsping act_svc_dbstd
- Verifica la cuenta de usuario de la base de datos para asegurarte de que la copia de seguridad de Backup and DR pueda conectarse:
sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
- Proporciona el nombre del servicio creado (act_svc_dbstd) en el parámetro de configuración Nombre del servicio de Oracle en Detalles y configuración de la aplicación, como se describe en Detalles y configuración de la aplicación para bases de datos de Oracle
Crea y verifica el nombre del servicio de Oracle en un entorno de RAC
El nombre de servicio de Oracle se usa solo para la autenticación de la base de datos. No es necesario para la autenticación del SO.
Ejemplo de RAC de tres nodos:
Nombre de la base de datos:
dbracNombre de la instancia 1:
dbrac1Nombre de la instancia 2:
dbrac2Nombre de la instancia 3:
dbrac3con la protección de la base de datos configurada desde el nodo 3 (nombre de la instanciadbrac3):
- Crea una entrada de nombre de servicio en el archivo
tnsnames.oraen$ORACLE_HOME/network/admino en$GRID_HOME/network/adminagregando la siguiente entrada:
act_svc_dbrac3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(INSTANCE_NAME = dbrac3)
(SERVICE_NAME = dbrac)
) ) )
Where:
HOST = This can be SCAN IP in a RAC environment or VIP or IP of the node 3 database server.
SERVICE_NAME = database name
INSTANCE_NAME = database instance name on node3
Prueba el servicename:
Accede como usuario del SO de Oracle y configura el entorno de Oracle:
TNS_ADMIN=(tnsnames.ora file location)
tnsping act_svc_dbrac3
- Verifica la cuenta de usuario de la base de datos para asegurarte de que la copia de seguridad de Backup and DR se pueda conectar:
sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
Proporciona el nombre del servicio creado (act_svc_dbrac3) en el parámetro de configuración del nombre del servicio de Oracle en Detalles y configuración de la aplicación, que se describe en Detalles y configuración de la aplicación para bases de datos de Oracle.
Si el archivo tnsnames.ora se encuentra en una ubicación no estándar, proporciona la ruta de acceso absoluta al archivo tnsnames.ora en el parámetro de configuración de la ruta de acceso de Oracle
TNS_Adminen Detalles y configuración de la aplicación que se describe en Detalles y configuración de la aplicación para bases de datos de Oracle
Habilita el seguimiento de cambios de bloques de la base de datos (opcional)
El seguimiento de cambios de bloques de la base de datos se describe en Seguimiento de cambios de bloques (BCT) de la base de datos de Oracle
Para verificar si el seguimiento de cambios de bloques de la base de datos está habilitado, haz lo siguiente:
sqlplus / as sysdba
En el símbolo del sistema de SQL, haz lo siguiente:
select * from v$block_change_tracking;
Si no está habilitado el seguimiento de cambios de bloques de la base de datos, habilítalo desde sqlplus:
Usa el grupo de discos de ASM
sqlplus / as sysdba
En el cuadro de SQL, haz lo siguiente:
alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';
Usa el sistema de archivos
sqlplus / as sysdba
En el símbolo del sistema de SQL, haz lo siguiente:
alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';
Protege desde un nodo de Oracle Data Guard
Puedes proteger una base de datos de Oracle desde nodos de base de datos principales o desde nodos en espera de Oracle Data Guard. Si la protección se establece desde un nodo de Oracle Data Guard, asegúrate de establecer las credenciales del nodo principal en Detalles y configuración de la aplicación en la consola de administración del dispositivo.
Para la autenticación de la base de datos (solo Linux)
Nombre de usuario/Contraseña: Son las credenciales de cuenta del usuario de la base de datos. Para que esta cuenta de usuario esté disponible en el nodo de Data Guard con acceso de sysdba, este usuario se debe crear con el privilegio de sysdba en el nodo principal (consulta cómo crear una cuenta de usuario de copia de seguridad con acceso de sysdba). Luego, el archivo de contraseña (en
$ORACLE_HOME/dbs/) del nodo principal se debe copiar en el nodo de Data Guard.
Para la autenticación del SO
- Nombre de usuario y contraseña: En Autenticación del SO, no se requiere el privilegio
sysdba. Esta cuenta de usuario de la base de datos necesita el privilegio
connect, alter system. Para que esta cuenta de usuario esté disponible en el nodo de Data Guard, se debe crear este usuario en el nodo principal.
Si el usuario no tiene el rol sysdba, necesita grant connect, alter system, select on dba_tablespaces.
Para otorgar estos privilegios, en el mensaje de SQL, haz lo siguiente:
grant connect, alter system, select on dba_tablespaces to act_rman_user;
- Nombre del servicio del nodo principal de Oracle Data Guard: Es el nombre del servicio en el archivo tnsnames.ora configurado en el nodo de Data Guard para conectarse al nodo principal desde el nodo en espera. Oracle Data Guard El nombre del servicio del nodo principal es obligatorio para la autenticación del SO y de la base de datos si la copia de seguridad se configura desde el nodo en espera de Data Guard.
Para obtener detalles completos sobre todos los detalles y la configuración, consulta Detalles y configuración de la aplicación para bases de datos de Oracle
| Nodo de base de datos | Autenticación del SO | Autenticación de la base de datos |
|---|---|---|
| Principal | No se necesitan credenciales de base de datos. | Se necesitan credenciales de la base de datos. Si no se selecciona ningún rol, se usa sysdba. |
| En suspensión | Las credenciales de la base de datos son necesarias incluso para la autenticación del SO (para conectarse a la base de datos principal y cambiar el registro). Las credenciales de la base de datos no necesitan tener un rol de sysdba o sysbackup. Si se usa una cuenta de sysdba/sysbackup, establece el rol de usuario en Rol de usuario en la base de datos en Detalles y configuración de la aplicación. | Se necesitan credenciales de la base de datos. Las credenciales de la base de datos deben ser para el rol sysdba o sysbackup, y el rol de usuario en la base de datos debe establecerse en sysdba o sysbackup en los detalles y la configuración de la aplicación. Para configurar la autenticación de la base de datos, consulta Habilita la autenticación de la base de datos para un servidor de Oracle. |
Configura la conmutación por error transparente de RAC de la copia de seguridad de RMAN a otros nodos
El agente de Backup and DR debe estar instalado y en ejecución en todos los nodos que planeas que formen parte de la configuración de conmutación por error de la copia de seguridad. La protección se configura desde un solo nodo.
En Detalles y configuración, Nodos del clúster, especifica la elección del nodo de conmutación por error en un entorno de Oracle RAC:
<Failover choice>:<Node IP>:<Servicename>:<Role>
Aquí:
Elección de conmutación por error: Es el orden del nodo en el que se debe realizar la conmutación por error.
IP del nodo: Es la dirección IP del nodo en el que deseas que se ejecute la copia de seguridad.
Servicename: Es el nombre del servicio creado y especificado en el archivo tnsnames.ora para la copia de seguridad de RMAN de Backup and DR. Este puede ser un servicio dedicado nuevo creado para la copia de seguridad de Backup and DR o el nombre del SID (nombre de la instancia) de la base de datos en ese nodo.
Rol: F, que indica que es un nodo de conmutación por error
Para crear un servicename nuevo en el nodo de conmutación por error en el archivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o en $GRID_HOME/network/admin/tnsnames.ora), haz lo siguiente:
Ejemplo en un entorno de Oracle One Node
RAC One Node consta de dos nodos:
172.15.157.200
172.15.157.201
Tiene una base de datos OneN que se ejecuta solo en uno de los nodos en un momento determinado. OneN está protegido de 172.15.157.200, con la configuración del nodo del clúster especificada como 1:172.15.157.201:OneN:F
Si OneN conmuta por error a 172.15.157.201, la copia de seguridad de Backup and DR la sigue y comienza el siguiente trabajo de copia de seguridad desde 172.15.157.201 en lugar de 200. Si la conmutación por error se produce en medio de un trabajo de copia de seguridad, este falla y el siguiente trabajo usa el nodo de conmutación por error para iniciar una copia de seguridad nueva.
Ejemplo en un entorno de Oracle, no en un nodo:
RAC de 2 nodos (
dbrac1,dbrac2)La protección se configura con el nombre de la base de datos "dbrac" de
dbrac1y la conmutación por error se configurará endbrac2Nombre del servicio en el nodo 2:
act_svc_dbrac2IP del nodo 2 o IP de análisis:
172.1.1.0
act_svc_node2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(INSTANCE_NAME = dbrac2)
(SERVICE_NAME = dbrac)
) )
En Detalles y configuración de la aplicación, las entradas de los nodos del clúster son las siguientes:
1:172.1.1.1:act_svc_node2:F
El comportamiento de las entradas F y M de los nodos del clúster
F: Nodo de conmutación por error, solo participa cuando el nodo de protección no realiza la copia de seguridad.
M: Nodo de mantenimiento, reemplaza al nodo de protección si se valida para poder realizar la copia de seguridad.
Compresión de los registros de archivo de Oracle
La copia de seguridad de registros de archivo de Backup and DR admite la compresión del conjunto de copias de seguridad de registros de Oracle. El tipo de compresión que selecciones dependerá de estos parámetros de configuración de RMAN. Selecciona una opción según tu caso de uso.
Las proporciones de compresión más bajas generan el menor impacto en la capacidad de procesamiento de las copias de seguridad. Son más adecuados para entornos en los que los recursos de CPU son el factor limitante.
Se recomienda la compresión media para la mayoría de los entornos. Estos proporcionan una buena combinación de proporciones de compresión y velocidad.
Las relaciones de compresión altas requieren muchos recursos y son más adecuadas para las copias de seguridad en redes más lentas, en las que el factor limitante es la velocidad de la red.
La configuración predeterminada es Básica. La básica no requiere Oracle Advanced Compression.
Para verificar el tipo de compresión establecido en el entorno, ejecuta el comando show all
desde el símbolo del sistema de RMAN:
rman target /
show all
Configura los servicios de base de datos de Oracle para el balanceo de cargas en varios nodos
Este procedimiento solo se aplica a las bases de datos de Oracle ASM. En este ejemplo, se supone que hay un entorno de RAC de cuatro nodos; los nodos 3 y 4 se deben balancear para el uso de copias de seguridad.
Consulta los siguientes vínculos:
Configura la copia de imágenes de RMAN en paralelo desde varios nodos
Configura los servicios de base de datos de Oracle para el balanceo de cargas en varios nodos
El balanceo de cargas entre los nodos de Oracle RAC requiere la autenticación de la base de datos de Oracle.
Configura la copia de imágenes de RMAN en paralelo desde varios nodos
En un entorno de RAC, puedes configurar la copia de seguridad para que se ejecute en paralelo desde varios nodos.
Instala el agente de Backup and DR en todos los nodos.
Configura la asignación del grupo de discos de ASM al nodo 3 y al nodo 4 con Application details & settings.
Crea un servicio de base de datos con srvctl para que se ejecute desde el nodo 3 y el nodo 4.
Usa este servicio para especificar en Application Details & Settings. Elige la cantidad de canales en Configuración avanzada (Cantidad de canales). RMAN distribuye los canales entre el nodo 3 y el nodo 4.
Establece el nombre del servicio de Oracle y los nodos miembros de RAC.
Configura los servicios de Oracle Database para el balanceo de cargas en varios nodos
Configura en Application Details & Settings, RAC Member Nodes: IP of node3 and IP of node 4.
Crea un servicio de base de datos para el nodo de mantenimiento que usará Backup and DR para la copia de seguridad:
srvctl add service -d <dbname> -s act_service_<dbname> -r <dbinstance3>,<dbinstance4>
srvctl start service -d <dbname> -s act_service_<dbname>
- Agrega la entrada tns para el nombre del servicio de Oracle
creado en los nodos de copia de seguridad (nodo
dbinstance3ydbinstance4en este ejemplo) en el archivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o en $GRID_HOME/network/admin/tnsnames.ora)
act_service_<dbname> =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = <DATABASE NAME>)
) )
- Prueba el nombre del servicio creado:
tnsping act_service_<dbname>
- Prueba el nombre del servicio y las credenciales del usuario:
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
Especifica este nombre de servicio en el nombre de servicio de Oracle de Application Details & Settings.
Crea un servicio de copia de seguridad de registros de archivo dedicado en un nodo protegido (p.ej., el nodo 3) para usarlo en la copia de seguridad:
srvctl add service -d <dbname> -s act_arc_service_<dbname> -r <dbinstance3>
srvctl start service -d <dbname> -s act_arc_service_<dbname>
- Agrega la entrada tns para el nombre del servicio de copia de seguridad del registro de archivo creado
en el archivo
tnsnames.ora($ORACLE_HOME/network/admin/tnsnames.orao en$GRID_HOME/network/admin/tnsnames.ora)
act_arc_service_<dbname> =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(INSTANCE_NAME = <node 3 instance>)
(SERVICE_NAME = act_arc_service_<dbname>)
) )
- Prueba el nombre del servicio:
tnsping act_arch_service_<dbname>
- Especifica este nombre de servicio en el nombre de servicio de la copia de seguridad del registro de archivo de Detalles y configuración de la aplicación.
Aplica parches a Oracle 12c
Las activaciones de Backup and DR compatibles con aplicaciones pueden fallar si tu instalación de Oracle 12c no incluye este parche, que se puede descargar desde el portal de asistencia de Oracle:
Error n° 19404068 de Oracle Database 12c (ORA-1610 ON RECOVER DATABASE FOR CREATED CONTROLFILE)
- (Parche 19404068) Linux x86-64 para Oracle 12.1.0.2.0
Para ver si el parche está instalado, ejecuta el siguiente comando:
cd $ORACLE_HOME/OPatch
./opatch lsinventory -details
./opatch lsinventory -details | grep 19404068
Pasos siguientes
Antes de agregar el host de Oracle, continúa con lo siguiente:
The Oracle DBA Guide
- Backup and DR para bases de datos de Oracle
- Requisitos previos para proteger una base de datos de Oracle
- Parches y problemas conocidos de Oracle
- Prepara las bases de datos de Oracle para la protección
- Descubre y protege una base de datos de Oracle
- Detalles y configuración de las bases de datos de Oracle
- Usa dNFS con Backup and DR
- Protege una base de datos de Oracle descubierta
- Activa una base de datos de Oracle como activación estándar
- Crea una copia virtual instantánea de una base de datos de Oracle
- Restablece y recupera una base de datos de Oracle
- Recuperación instantánea de una base de datos de Oracle con la función de activación y migración
- Aprovisiona un entorno con un flujo de trabajo de Backup and DR