Antes de comenzar, te recomendamos que revises el servicio de copia de seguridad y DR para Oracle.
Antes de poder crear copias de seguridad de las bases de datos de Oracle, debes agregar el servidor de Oracle como un host al servicio de copia de seguridad y DR. Para que esto funcione, asegúrate de consultar los Requisitos previos para crear una copia de seguridad de una base de datos de Oracle y, luego, sigue estos pasos de preparación.
Prepara las bases de datos de Oracle en un entorno de Linux
Antes de proteger una base de datos de Oracle o si fallan las tareas de protección de la base de datos, asegúrate de que la siguiente configuración sea correcta en el servidor de la base de datos de Oracle.
Cada base de datos de Oracle que se proteja debe estar activa y 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 estar ejecutándose en modo de registro de archivo. Para verificar que la base de datos se ejecuta en el modo de registro de archivo, accede al servidor de la base de datos como usuario del SO Oracle y establece 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> (you can get this through ps -ef | grep pmon) export PATH=$ORACLE_HOME/bin:$PATH
Accede a sqlplus:
#sqlplus / as sysdba #SQL> 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 #SQL>
La base de datos debe usar
spfile
. Verifica que la base de datos se esté ejecutando conspfile
:#sqlplus / as sysdba SQL> show parameter spfile NAME TYPE VALUE ------------------ ----------- ------------ spfile string +DATA/ctdb/spfilectdb.ora
En el caso de la base de datos de Oracle RAC, el archivo de control de instantáneas debe ubicarse en los 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
. Configura la opción si es necesario:rman target /
Luego, en RMAN, haz lo siguiente:
show all
Los parámetros de configuración de RMAN para la base de datos con CTDB db_unique_name 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';
En este ejemplo, se muestra la configuración establecida en el sistema de archivos local.
En un entorno de RAC, se debe configurar como grupo de discos de ASM compartido. Para colocarlo en el grupo de discos de ASM, usa lo siguiente:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB name>.f';
Prepara la creación de una copia de seguridad de una base de datos de Oracle con archivos de datos en un grupo de discos ASM
Crea un disco de preparación de copia de seguridad y DR en un grupo de discos de ASM
El parámetro ASM diskstring debe estar configurado y no 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) (you
can get this through ps ?ef | grep pmon)
#export PATH=$ORACLE_HOME/bin:$PATH
Conéctate a sqlplus
:
#sqlplus / as sysasm
#sql> 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 correcto de la cadena de disco ASM para los discos ASM existentes antes de continuar con la protección de copia de seguridad y DR. La copia de seguridad de Backup and DR agrega su ruta de acceso de cadena de disco (/dev/Backup and DR/asm/*
) para que su disco de preparación de copia de seguridad se asigne a ASM.
Disco de preparación de copia de seguridad y DR en el sistema de archivos
Si proteges una base de datos de ASM de Oracle en un sistema de archivos, la opción Convertir ASM a 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 son obligatorios solo si planeas usar la autenticación de base de datos. La autenticación de la base de datos de Oracle se describe en Copia de seguridad y DR con autenticación de la base de datos.
Sigue los pasos que se indican en Cómo preparar 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 proporcionó una:
create user act_rman_user identified by <password>;
Para otorgarle acceso a
sysdba
a todos los nodos de RAC, accede asqlplus
en 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 deof sysdba
, y el nombre de usuario de la base de datos comienza con #.Verifica que se haya otorgado el rol
sysdba
en todos los nodos del entorno de RAC:#sqlplus / as sysasm # sql> 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 de servicio de Oracle en un entorno que no sea de RAC
El nombre de servicio de Oracle solo se usa 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 el nombre de servicio de Oracle no aparece en la lista, crea la entrada de nombre de servicio en el archivo
tnsnames.ora
en$ORACLE_HOME/network/admin
o en$GRID_HOME/network/admin
agregando la siguiente 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 de la base de datos para asegurarte de que esté configurada:
Accede como usuario del SO 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 se pueda conectar:
sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
Proporciona el nombre de servicio creado (act_svc_dbstd) en la configuración del nombre de 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 de servicio de Oracle en un entorno de RAC
El nombre de servicio de Oracle solo se usa 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:
dbrac
Nombre de la instancia 1:
dbrac1
Nombre de Instance2:
dbrac2
Nombre de la instancia 3:
dbrac3
con la protección de la base de datos establecida desde el nodo 3 (nombre de la instanciadbrac3
):
Crea una entrada de nombre de servicio en el archivo
tnsnames.ora
en$ORACLE_HOME/network/admin
o en$GRID_HOME/network/admin
agregando 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 nombre del servicio:
Accede como usuario del SO 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 la 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 la configuración de ruta de acceso
TNS_Admin
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.
Habilita el seguimiento de cambios de bloques de la base de datos (opcional)
El seguimiento de bloques de cambios de la base de datos se describe en Seguimiento de cambios de bloques de la base de datos de Oracle (BCT).
Para verificar si el seguimiento de cambios de bloques de la base de datos está habilitado, haz lo siguiente:
sqlplus / as sysdba
En el mensaje de SQL, escribe lo siguiente:
select * from v$block_change_tracking;
Si el seguimiento de cambios de bloques de la base de datos no está habilitado, habilítalo desde sqlplus:
Usa el grupo de discos de ASM
sqlplus / as sysdba
En el mensaje de SQL, escribe lo siguiente:
alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';
Cómo usar el sistema de archivos
sqlplus / as sysdba
En el mensaje de SQL, escribe lo siguiente:
alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';
Protección desde un nodo de Oracle Data Guard
Puedes proteger una base de datos de Oracle de los nodos de la base de datos principal o de los nodos de espera de Oracle Data Guard. Si la protección se establece desde un nodo de Oracle Data Guard, asegúrate de configurar las credenciales del nodo principal en Detalles y configuración de la aplicación en la consola de administración.
Para la autenticación de bases de datos (solo Linux)
Nombre de usuario o contraseña: Son las credenciales de la cuenta de usuario de la base de datos. Para que esta cuenta de usuario esté disponible en el nodo de Data Guard con acceso a sysdba, este usuario debe crearse con el privilegio sysdba en el nodo principal (consulta cómo crear una cuenta de usuario de copia de seguridad con acceso a 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 la 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 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 la instrucción sql, haz lo siguiente:
grant connect, alter system, select on dba_tablespaces to act_rman_user;
- Nombre de servicio del nodo principal de Oracle Data Guard: Es el nombre de servicio en el archivo tnsnames.ora configurado en el nodo de Data Guard para conectarse al nodo principal desde el nodo en espera. Se requiere el nombre de servicio del nodo principal de Oracle Data Guard para la autenticación del SO y de la BD 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 la 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 al registro principal y cambiarlo). Las credenciales de la base de datos no necesitan tener un rol sysdba/sysbackup. Si se usa una cuenta de sysdba/sysbackup, configura 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 Rol del usuario en la base de datos debe establecerse en sysdba o sysbackup en Detalles y configuración de la aplicación. Para configurar la autenticación de la base de datos, consulta Cómo habilitar 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 solo desde un 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í:
Failover Choice: 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 tnsnames.ora para la copia de seguridad de RMAN de Backup and DR. Puede ser un servicio nuevo dedicado creado para la copia de seguridad de Backup and DR o el nombre de 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 nuevo nombre de servicio en el nodo de conmutación por error en el archivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o $GRID_HOME/network/admin/tnsnames.ora)
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 desde 172.15.157.200, con la configuración del nodo del clúster especificada como 1:172.15.157.201:OneN:F.
Si OneN se traslada a 172.15.157.201, la copia de seguridad de Backup and DR la sigue y comienza la siguiente tarea 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 nueva copia de seguridad.
Ejemplo en un entorno de Oracle, no en un solo nodo:
RAC de 2 nodos (
dbrac1
,dbrac2
)La protección se establece con el nombre de la base de datos "dbrac" de
dbrac1
y la conmutación por error se debe establecer endbrac2
.Nombre del servicio en el nodo 2:
act_svc_dbrac2
IP de Node2 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:
Failoverchoice:NodeIP:Servicename:Role
1:172.1.1.1:act_svc_node2:F
El comportamiento de las entradas de nodos de clúster F y M
F: Nodo de conmutación por error, solo participa cuando el nodo de protección no es para realizar la copia de seguridad.
M: Nodo de mantenimiento, reemplaza el nodo de protección si se valida para poder realizar la copia de seguridad.
Compresión de 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 depende 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 tienen 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 la CPU son el factor limitador.
Se recomienda la compresión media para la mayoría de los entornos. Estos proporcionan una buena combinación de índices 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 versión básica no requiere la compresión avanzada de Oracle.
Para verificar el tipo de compresión establecido en el entorno, ejecuta el comando show all
desde el mensaje 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 ASM de Oracle. En este ejemplo, supongamos 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:
Cómo configurar 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 nodos de Oracle RAC requiere la autenticación de la base de datos de Oracle.
Configura la copia de imagen 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 los detalles y la configuración de la aplicación.
Crea un servicio de base de datos con srvctl para ejecutarlo desde el nodo 3 y el nodo 4.
Usa este servicio para especificarlo en Detalles y configuración de la aplicación. Elige Cantidad de canales en Configuración avanzada (Cantidad de canales). RMAN distribuye los canales entre el nodo 3 y el 4.
Establece el nombre de servicio de Oracle y los nodos miembros de RAC.
Configura los servicios de base de datos de Oracle para el balanceo de cargas en varios nodos
En Detalles y configuración de la aplicación, configura los nodos miembros de RAC: la IP del nodo 3 y la IP del nodo 4.
Crea un servicio de base de datos para el nodo de mantenimiento que usará Backup and DR para crear copias 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 que se creó en los nodos de copia de seguridad (nodos
dbinstance3
ydbinstance4
en este ejemplo) en el archivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora o $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 de servicio creado:
tnsping actservice
Prueba el nombre de 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 Application Details & Settings.
Crea un servicio de copia de seguridad de registro de archivo dedicado en un nodo protegido (p.ej., el nodo 3) para usar 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 de registro de archivo creado en el archivo
tnsnames.ora
($ORACLE_HOME/network/admin/tnsnames.ora
o 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_archservice
Especifica este nombre de servicio en Application Details & Settings archive log backup servicename.
Cómo aplicar parches a Oracle 12c
Es posible que los activadores de copia de seguridad y DR para aplicaciones fallen si tu instalación de Oracle 12c no incluye este parche, que se puede descargar desde el portal de asistencia de Oracle:
Error de Oracle Database 12c# 19404068 (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 los siguientes pasos:
Guía del administrador de bases de datos de Oracle
Requisitos previos para proteger una base de datos de Oracle
Cómo preparar las bases de datos de Oracle para la protección
Crea una copia virtual instantánea de una base de datos de Oracle
Recuperación instantánea de una base de datos de Oracle con la función Activar y migrar
Aprovisiona un entorno con un flujo de trabajo de copia de seguridad y DR