Antes de comenzar, es una buena idea revisar Backup and DR Service for Oracle.
Antes de crear copias de seguridad de bases de datos de Oracle, debes agregar el servidor de Oracle como host al servicio 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 la siguiente configuración sea correcta 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 el modo de registro de archivo, accede al servidor de la base de datos como usuario del SO de 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 la instantánea debe estar ubicado en los discos compartidos. En el caso de una base de datos de Oracle RAC en ASM, el archivo de control de instantáneas debe ubicarse en los discos compartidos.
Para verificar esto, conéctate a RMAN y ejecuta el comando
show all
. Configúralo 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 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';
En este ejemplo, se muestra el conjunto de configuración establecido en el sistema de archivos local.
En un entorno de RAC, se debe establecer en el grupo de discos de ASM compartido. Para colocarlo en el grupo de discos de ASM, usa el siguiente comando:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB 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 copia de seguridad y DR en un grupo de discos de ASM
El parámetro diskstring de ASM debe establecerse 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 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 la ruta de cadena de su disco (/dev/Backup and DR/asm/*
) para que su disco de etapa de pruebas de copia de seguridad 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 Oracle ASM 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 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 Cómo preparar bases de datos de Oracle en un entorno de Linux.
Crea una cuenta de usuario de la base de datos para la copia de seguridad de Backup and DR, si no se proporcionó:
create user act_rman_user identified by <password>;
Otorga acceso de
sysdba
a todos los nodos de RAC. Para ello, accede asqlplus
en todos los nodos y ejecuta el siguiente comando:grant create session, resource, sysdba to act_rman_user;
En 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 el rol
sysdba
se haya otorgado 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 del servicio de Oracle en un entorno que no es de RAC
El nombre del servicio de Oracle se usa solo para la autenticación de la base de datos. No es necesaria para la autenticación del SO.
Ejemplo:
Nombre de la base de datos: dbstd
,
Nombre de la instancia: dbstd
Si el nombre del servicio de Oracle no aparece en la lista, crea la entrada del nombre del servicio en el archivo
tnsnames.ora
en$ORACLE_HOME/network/admin
o en$GRID_HOME/network/admin
agregando 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 a él 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 se pueda conectar:
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.
Cómo crear y verificar el nombre del servicio de Oracle en un entorno de RAC
El nombre del servicio de Oracle se usa solo para la autenticación de la base de datos. No es necesaria para la autenticación del SO.
Ejemplo de RAC de tres nodos:
Nombre de la base de datos:
dbrac
Nombre de Instance1:
dbrac1
Nombre de Instance2:
dbrac2
Nombre de Instance3:
dbrac3
con la protección de la base de datos establecida desde Node3 (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 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 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.
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_Admin
en Application Details & Settings, como se describe en Application details & settings for Oracle databases.
Habilita el seguimiento de cambios de bloques de la base de datos (opcional)
El seguimiento de bloques de cambio de la base de datos se describe en Oracle database block change tracking (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 indicador de sql, haz 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 indicador de sql, haz lo siguiente:
alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';
Uso del sistema de archivos
sqlplus / as sysdba
En el indicador de sql, haz 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 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 Application Details & Settings en la consola de administración.
Para la autenticación de bases de datos (solo para Linux)
Nombre de usuario/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 de sysdba, se debe crear con privilegios 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 privilegio de 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 de sysdba, necesita grant connect, alter system, select on dba_tablespaces
.
Para otorgar estos privilegios, en el símbolo del sistema 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 BD si la copia de seguridad se configura desde el nodo en espera de Data Guard.
Para obtener todos los detalles sobre 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 | Se necesitan credenciales de la base de datos incluso para la autenticación del SO (para conectarse al registro de conmutación principal). Las credenciales de la base de datos no necesitan tener un rol de sysdba o sysbackup. Si se usa una cuenta de sysdba o sysbackup, establece el rol del usuario en User Role in the Database en Application Details & Settings. | 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 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 desde un solo nodo.
En Detalles y configuración, Nodos del clúster, especifica la opción de nodo de conmutación por error en un entorno de Oracle RAC:
<Failover choice>:<Node IP>:<Servicename>:<Role>
Aquí:
Failover Choice: Es el orden de los nodos en el que se 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. Puede ser un nuevo servicio dedicado 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 nuevo nombre de servicio 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)
Ejemplo en un entorno de Oracle de un solo nodo
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 conmutó por error a 172.15.157.201, la copia de seguridad de Backup and DR lo seguirá y comenzará el siguiente trabajo de copia de seguridad desde 172.15.157.201 en lugar de 200. Si se produce una conmutación por error en medio de un trabajo de copia de seguridad, el trabajo 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 node2:
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 Application Details & Settings, 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ústeres F y M
F: Nodo de conmutación por error que solo participa cuando el nodo de protección no puede realizar la copia de seguridad.
M: Nodo de mantenimiento que reemplaza al 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 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 son las que menos impactan 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 índices de compresión y velocidad.
Las proporciones de compresión altas requieren muchos recursos y son más adecuadas para copias de seguridad en redes más lentas, en las que el factor limitante es la velocidad de la red.
El parámetro de configuración predeterminado es Básico. El nivel Básico 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 símbolo del sistema de RMAN:
rman target /
show all
Configura los servicios de la 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, supongamos 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 imagen de RMAN paralela desde varios nodos
Configura los servicios de la 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 imagen paralela de RMAN 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 a los nodos 3 y 4 con los detalles y la configuración de la aplicación.
Crea un servicio de base de datos con srvctl para que se ejecute desde los nodos 3 y 4.
Usa este servicio para especificarlo 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, nodos miembros de RAC: IP de node3 y IP de node4.
Crea un servicio de base de datos para que el nodo de mantenimiento lo use 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 (nodos
dbinstance3
ydbinstance4
en 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 actservice
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 como 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.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 el registro de archivo de Application Details & Settings, nombre de servicio de copia de seguridad.
Aplica parches a Oracle 12c
Es posible que las activaciones compatibles con la aplicación de Copia de seguridad y DR fallen si tu instalación de Oracle 12c no incluye este parche, que se puede descargar desde el portal de asistencia de Oracle:
Error núm. 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 comprobar si se instaló el parche, 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:
La guía del DBA de Oracle
- Copia de seguridad y DR para bases de datos de Oracle
- Requisitos previos para proteger una base de datos de Oracle
- Parches de Oracle y problemas conocidos
- Prepara 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
- Cómo activar una base de datos de Oracle como activación estándar
- Crea una copia virtual instantánea de una base de datos de Oracle
- Cómo restablecer y recuperar una base de datos de Oracle
- Recuperación instantánea de una base de datos de Oracle con Mount and Migrate
- Aprovisiona un entorno con un flujo de trabajo de Backup and DR