SlideShare una empresa de Scribd logo
1 de 273
*
INTRODUCCIÓN
RECOVERY MANAGER
Protege la base de datos ante varios tipos de fallas posibles.
Aumenta el tiempo medio entre fallos.
Disminuye el tiempo medio de recuperación.
Minimizar la perdida cuando hay un fallo de la base de datos.
No tiene costo adicional de licenciamiento.
Puede ser integrado a Enterprise Manager.
Automatiza el respaldo y la restauración de la base de datos.
Introducido en la versión Oracle8.
INTRODUCCION
¿QUÉ PROPOSITO TIENE UTILIZAR RMAN?
Fallas de estamento.
Fallas de proceso usuario.
Fallas de red.
Fallas de instancia.
Errores de usuario.
Falla de medios.
TIPOS DE ERRORES DE BASE DE DATOS
FALLAS DE ESTAMENTO
 Un programa intenta ingresar datos no válidos en una tabla.
Lógica erronea de un proceso.
Job con una larga inserción de datos.
Job con importación de datos
Proceso falla por falta de privilegios.
FALLAS DE PROCESO USUARIO
 Un proceso termina de forma abrupta.
 Usuario realiza desconexión anormal
 Error de un programa desde un terminal
 Proceso Background Oracle puede hacer ROLLBACK.
FALLAS DE RED
 Una falla de red puede causar una falla en la base de datos.
 Oracle Net Listener.
 Tarjeta de interfaz de red (NIC).
 Fallo en la conexión de red.
FALLAS DE INSTANCIA
 Falla de instancia por un problema de hardware.
 Falla en fuentes de poder.
 Procedimiento de baja de emergencia.
 Fallo en proceso PMON.
ERRORES DE USUARIO
 Accidentalmente un usuario elimina una tabla.
 Usuario modifica o elimina datos de una tabla.
 Procedimiento de baja de emergencia.
FALLA DE MEDIOS
 Perdida de un disco.
 Fallo en una controladora de disco.
 Fallo del sistema principal.
 Corrupción de archivos.
 Sobrescribir o borra un datafile.
 Falla en lectura y escritura de un disco.
CONCEPTOS DE RESPALDO Y RECUPERACIÓN
ARQUITECTURA
 Proceso Checkpoint
 Proceso Log Writer.
 Proceso de Archiver.
Procesos Background que realizan tareas de críticas de respaldo y
recuperación
 Envía una señal al proceso Database Writer (DBWn)
en cada Checkpoint.
 Actualiza el encabezado de los datafiles con información
de Checkpoint.
 Actualiza el Control File con la información de Checkpoint
El proceso Checkpoint hace tres cosas:
EL PROCESO CHECKPOINT
EL PROCESO LOG WRITTER
El proceso Log Writer transfiere el contenido del Redo Log Buffer
a los archivos de Redo Log bajo las siguientes circuntancias:
 En cada COMMIT
 Cada tres segundos
 Cuando el Redo Log Buffer alcanza un tercio de su capacidad
Los archivos de Redo Log en línea graban todos los cambios hechos
a la base de datos.
EL PROCESO ARCHIVER
Proceso background opciónal y es el encargado de archivar los Redo
Logs en línea cuando son llenados, antes de ser sobrescritos por datos
nuevos.
 La base de datos debe estar configurada en modalidad Archive
Log.
ESTRUCTURAS FÍSICAS DE BASES DE DATOS
UTILIZADAS EN RECUPERACIÓN
Es necesario considerar cuatro grandes estructuras físicas de base de
datos durante una recuperación:
 Datafiles
 Redo Logs (archivados y en línea)
 Control files
 Registros de Undo
TIPOS DE RESPALDOS
La base de datos ofrece varios tipos de respaldos:
 Physical and logical backups
 Whole and partial backups
 Online and offline backups
 Full and incremental backups
 Consistent and inconsistent backups
RESPALDOS FÍSICOS Y LÓGICOS
Physical Backups
 Se utilizan herramientas de sistema operativo como “cp”
 Copia física actual de la base de datos
 Respaldo de Datafiles, Controlfiles y Redo Logs
Logical Backups
 DATAPUMP – exportar e importar (10g,11g,12c)
 EXP (versiónes 8i y 9i)
 IMP (versiónes 8i y 9i)
 Respaldo de Datafiles, Controlfiles y Redo Logs
RESPALDO COMPLETOS Y PARCIALES
Whole backups
 Respaldo completo – Base de Datos
 Incluye todos los datafiles + Control files
Partial Backups
 Respaldo de un Tablespace (Incluye todos sus datafiles)
 Respaldo de un solo datafile
 Incluye el respaldo de un solo archivo de sistema operativo
 Respaldo de Control file, ya sea binario o texto
RESPALDO EN línea Y FUERA DE línea
Offline backups ó Cold Backups
 Backup offline bajando Base de Datos mediante el comando
“SHUTDOWN IMMEDIATE o TRANSACTIONAL”
 Modalidad Archive Log / No Archive Log
 RMAN requiere instancia en modo MOUNT
Online backups, Hot Backup ó Warm Backup
 Base de Datos abierta
 Backup en línea siempre es inconsistente
 Requiere Archive Logs
RMAN soporta respaldos en línea y fuera de línea
RESPALDO FULL E INCREMENTAL
Full backups
 Contiene un respaldo con todos los datafiles
 Demora más tiempo
Incremental backups
 Contiene solo los bloques de datos que han cambiado en los
datafiles.
 Demora menos tiempo
Solo con RMAN se pueden realizar respaldos incrementales
RESPALDO CONSISTENTE/INCONSISTENTE
Concepto de SCN (System Change Number)
 Es un número asignado por el servidor que indica la versión de
cambio de Base de Datos
 Todos los datafiles deben estar sincronizados al mismo SCN
 Permite la consistencia en un sólo punto en el tiempo
 Checkpoint sincroniza datafiles y controlfile con la
información del SCN original
Consistent backups
 Base de Datos en modalidad Noarchivelog
 Abrir la base de datos sin la opción “OPEN RESETLOGS”
 No requiere recuperación
Inconsistent backups
 Base de Datos en modalidad Archivelog/Noarchivelog.
 Utiliza Archived Redo Logs para tener la data actual y
sincronizar el SCN a todos los datafiles
RESPALDO CONSISTENTE/INCONSISTENTE
TIPOS DE RECUPERACIÓN
Instance Recovery
Usa la información en los Redo Logs para aplicar los cambios.
Usa el contenido del Tablespace Undo para deshacer los
cambios no aplicados a los datos
Libera los recursos tomados
No requiere intervención del DBA
TIPOS DE RECUPERACIÓN
Crash Recovery (Recuperación automática de Instancia)
 No requiere restauración o recuperación.
Rolling forward
 Actualiza todos los datafiles con información desde los Redo
Logs Files.
 Los Redo Logs Files son escritos siempre antes que la data sea
grabada en los datafiles.
TIPOS DE RECUPERACIÓN
Rolling back
 Cambios no confirmados se deshacen.
 Usa el tablespace de Undo para volver al estado original
 Solo los datos confirmados cuando falla la instancia son
retenidos en los datafiles.
 Sintonizar el parámetro fast_start_mttr_target en segundos
para manejar el tiempo de recuperación de la instancia.
TIPOS DE RECUPERACIÓN
Media Recovery
Consultar la vista V$RECOVERY_FILE
Comandos Básicos (Restore – Recover)
Restarura los datafiles desde el backup.
Renombrar datafiles (nueva ubicación)
Recuperar los datafiles (Aplicando Redo)
TIPOS DE RECUPERACIÓN
Para abrir una base de datos, luego de la restauración y recuperación
se deben cumplir las siguientes condiciones:
Debemos tener todas las copias de control file sinconizada
Debemos sincronizar todos los datafiles en línea
Debemos tener al menos un miembro de cada grupo
de redo log
Si todo esto se cumple, la base de datos se abre de forma consistente
TIPOS DE RECUPERACIÓN
Complete and Point-in-Time Recovery (Recuperación incompleta)
Segura no tener perdidas de transacciones
Usa backups incrementales + Archivelogs
Recupera una base datos a un punto en el tiempo
(completa o parte de ella)
Tecnología Flashback (DBPITR)
Recuperación de punto en el tiempo de Tablespace
CONFIGURANDO
EL AMBIENTE RMAN
EMULANDO UNA SUPER DLT A DISCO
API – oracle.disksbt
Crear un directorio (mkdir /oracle/tape_backup)
Realizar llamada y pasar los parámetros de emulación
run {
allocate channel DR1 device type 'SBT_TAPE'
PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DI
R=/oracle/type_backup)" ;
}
Oracle provee el API llamado oracle.disksbt, la cual es utilizada
para emular un dispositivo SBT a disco
EJERCICIO
DESPLEGANDO INFORMACIÓN DE CONFIGURACIÓN
Problemática: Se requiere desplegar la configuración del ambiente RMAN.
Solución: SHOW ALL - V$RMAN_CONFIGURATION
EJERCICIO
VOLVER A LA CONFIGURACIÓN ORIGINAL DE PARÁMETROS
Problemática: Se requiere configurar RMAN según los requerimientos de
las políticas de respaldo y recuperación.
Solución: Cambiar la configuración persistente, usando el comando
CONFIGURE
EJERCICIO
CONFIGURANDO RMAN
Problemática: Se requiere restaurar a los valores iniciales ciertos
parámetros de configuración.
Solución: Cambiar la configuración persistente, usando el comando
CONFIGURE …. CLEAR
EJERCICIO
HABILITAR O DESHABILITAR BACKUP AUTOMÁTICO
DE CONTROL FILE
Problemática: Se requiere configurar RMAN para que automáticamente
haga respaldos de Control File y SPFILE.
Solución: Habilitar o deshabilitar backups automáticos con los siguientes
comandos:
EJERCICIO
ESPECIFICAR EL DIRECTORIO DE AUTOBACKUP Y
NOMBRE DE ARCHIVO PARA CONTROL FILE
Problemática: Se requiere configurar RMAN para escribir el backup de
controlfile a un directorio determinado.
Solución: Usar el comando CONFIGURE para definir el directorio y
ubicación del autobackup de Control File.
Ubicación en ASM Diskgroup:
EJERCICIO
ESPECIFICAR EL NOMBRE DE ARCHIVO Y UBICACIÓN
PARA EL SNAPSHOT DE CONTROL FILE
Problemática: Se requiere configurar RMAN un snapshot especial de
Control File y almacenar en un directorio específico.
Solución: Usar el comando CONFIGURE SNAPHOT CONTROLFILE TO
Para desplegar el nombre y ubicación actual:
EJERCICIO
ESPECIFICAR PERÍODO DE RETECION PARA HISTÓRICOS
Problemática: Se está usando un solo control file y no existe catálogo de
recuperación. Además, es necesario el aumento del período de retención de
los backups.
Solución: El parámetro CONTROL_FILE_RECORD_KEEP_TIME
controla el tiempo de retención en días.
V$CONTROLFILE_RECORD_SECTION
EJERCICIO
CONFIGURANDO TIPOS DE DISPOSITIVOS
Problemática: Se requiere cambiar el dispositivo predeterminado desde
disco a cinta ó viceversa.
Solución: Todos los canales automáticos tienen predeterminado el
dispositivo de tipo disco. Usar el comando CONFIGURE para cambiar la
configuración actual.
CONFIGURANDO TIPOS DE DISPOSITIVOS
Asiginación de canal a un dispositivo de tipo cinta (sbt)
EJERCICIO
CONFIGURANDO TIPOS DE DISPOSITIVOS
Asiginación de canal a un dispositivo de tipo disco
EJERCICIO
CONFIGURANDO TIPOS DE DISPOSITIVOS
Problemática: Se requiere cambiar el dispositivo predeterminado de
respaldo a una copia de imagen
Solución: El dispositivo predeterminado para respaldos puede ser disco o
cinta. Mediante el comando CONFIGURE podemos cambiar la
configuración
EJERCICIO
REALIZAR BACKUP SETS COMPRIDOS
Problemática: Se requiere realizar backups comprimidos utilizando RMAN
para ahorrar espacio y tráfico en la red.
Solución: Configurar RMAN para hacer respaldos comprimidos en disco o
cinta mediante la cláusula COMPRESSED BACKUPSET
Respaldo comprimido a disco
Respaldo comprimido a cinta
EJERCICIO
REALIZAR BACKUP SETS COMPRIDOS
V$RMAN_COMPRESSION_ALGORITHM
Algoritmos de compresión disponibles (ZLIB y BZIP2)
EJERCICIO
CONFIGURAR VARIAS COPIAS DE SEGURIDAD
Problemática: Se requiere un respaldo como backup set y que RMAN cree
varias copias de este backup set. No se requiere una configuración
persistente
Solución: Utilizar la característica llamada DUPLEXING para que RMAN
cree varias copias de Backup Pieces que componen el Backup Set.
Muestra configuración de copias
Duplexing se encuentra limitado solo a respaldos realizados como Backup Sets
EJERCICIO
ESPECIFICAR NOMBRE PARA UN BACKUP PIECE
Problemática: Se requiere especificar un nombre para
Backup Pieces generados mediante RMAN
Solución: Proporcionar variables de sustitución para la generación de
nombres únicos para las copias de imagen ó Backup Pieces. Se debe
incorporar un formato dentro del comando para generar un nombre único.
Duplexing se encuentra limitado solo a respaldos realizados como Backup Sets
EJERCICIO
GENERANDO NOMBRES PARA COPIA DE IMÁGENES
Problemática: Se requiere establecer nombres significativos para las
copias de imagen en lugar que RMAN genere sus propios nombres
Solución: Podemos utilizar parámetros de formato y así generar nombres
únicos para imágenes de copia.
EJERCICIO
GENERANDO NOMBRES PARA COPIA DE IMÁGENES
Parámetro DB_FILE_NAME_CONVERT
Directamente puede hacer backups de tablespaces a una ubicación
diferente
EJERCICIO
CONFIGURANDO CANALES AUTOMATICOS
Problemática: Configurar canales para ser usados por cualquier
dispositivo de tipo disco o cinta.
Solución: Use el comando CONFIGURE para asignar automáticamente
canales de forma persistente para todas las sesiones.
Respaldar a un media manager pero utilizando tres unidades de cinta
en paralelo.
EJERCICIO
CONFIGURANDO CANALES MANUALMENTE
Problemática: Se requiere configurar canales manualmente para un
respaldo dentro en un bloque “RUN”
Solución: Manualmente especificar los canales dentro del bloque “RUN”
pero usando el comando “ALLOCATE CHANNEL”.
Asignación manual de varios canales corriendo sobre varios drives.
EJERCICIO
CONFIGURANDO UN CANAL DE MANTENIMIENTO
Problemática: Se requiere configurar un canal para tareas de
mantenimiento como por ejemplo eliminación de respaldos obsoletos.
Solución: Manualmente especificar el canal de mantenimiento usando el
comando “ALLOCATE CHANNEL FOR MAINTENANCE”
EJERCICIO
LIMITANDO EN TAMAÑO INDIVIDUAL DE UN BACKUP PIECE
Problemática: Se requiere limitar el tamaño de cada pieza de respaldo
producida por RMAN.
Solución: Usar el parámetro MAXSETSIZE en cualquiera de los comandos
CONFIGURE o BACKUP para configurar el máximo tamaño de los
backup sets creados en dispositivos de tipo cinta o disco.
EJERCICIO
CONFIGURANDO EL TAMAÑO MAXIMO DE BACKUP SETS
Problemática: Se requiere limitar el tamaño máximo de un backup set, ya
que el sistema operativo soporta archivos de cierto tamaño.
Solución: Usar el parámetro MAXSETSIZE en cualquiera de los comandos
CONFIGURE o BACKUP para configurar el máximo tamaño de los
backup sets creados en dispositivos de tipo cinta o disco.
Configuración a nivel de ambiente RMAN
Configuración directa en el comando backup
CATÁLOGO DE RECUPERACIÓN
RECOVERY MANAGER
CATÁLOGO DE RECUPERACIÓN
Esquema de Base de Datos opciónal con tablas y vistas
Creado como un almacenamiento secundario del repositorio
Provee una gran capacidad de almacenamiento histórico para
muchas bases de datos
Podemos crear y almacenar script RMAN en el catálogo de
recuperación
CATÁLOGO DE RECUPERACIÓN (CONTENIDO)
Valores de configuración de RMAN
Almacenamientos de scripts creados y utilizados por RMAN
Información de tablespaces y datafiles correspondientes a
bases de datos registradas
Información perteneciente a datafiles, backup sets y backup
pieces de archived redo logs, como datafile y copias de
archived redo logs.
Restringe acceso creando el virtual private recovery catalog
EJERCICIO
CREANDO EL CATÁLOGO DE RECUPERACIÓN
Problemática: Se planea crear un catálogo de recuperación en una base de
datos externa.
Solución:
Preparación de ambiente
Crear el dueño del catálogo o esquema
Crear el catálogo de recuperación
EJERCICIO
CREANDO EL CATÁLOGO DE RECUPERACIÓN
Problemática: Se planea crean un catálogo de recuperación en una base de
datos externa.
Solución:
Preparación de ambiente
Crear el dueño del Catálogo o esquema
Crear el Catálogo de recuperación
Preparación de ambiente para estructuras del catálogo
Conectarse a la base de datos con el usuario SYS
Crear el tablespace TTBS para almancenar las
estructructuras del catálogo
EJERCICIO
CREANDO EL CATÁLOGO DE RECUPERACIÓN
Preparación de ambiente para estructuras del catálogo
Creación de usuario dueño del catálogo de recuperación
EJERCICIO
CREANDO EL CATÁLOGO DE RECUPERACIÓN
Otorgar el privilegio RECOVERY_CATALOG_OWNER al
usuario rman
Creando el catálogo de recuperación
Conectarse a la base de datos catalog llamada catdb con el
usuario rman
Utilice el comando “CREATE CATALOG” para crear el
catálogo de recuperación
EJERCICIO
CREANDO EL CATÁLOGO DE RECUPERACIÓN
EJERCICIO
CONECTARSE AL CATÁLOGO DE RECUPERACIÓN
Problemática: Se requiere conectar al catálogo de recuperación y a la base
de datos target directamente desde la línea de comando.
Solución: Conectarse desde la línea de comando utilizando autentificación
de sistema operativo para la conexión a la base de datos target y la
autentificación de Oracle Net
Conectar mediante SQL*Net desde un Cliente Oracle
EJERCICIO
REGISTRAR UNA BASE DE DATOS TARGET
Problemática: Se requiere usar un catálogo de recuperación para manejar
el repositorio de datos para una nueva base de datos.
Solución: Para usar el catálogo de recuperación es necesario registrar la
nueva base de datos (catalogar)
 Conectarse a la base de datos catalog y a la base de datos
target que se requiere registrar
 En el caso que la base de datos no este montada,
se debe llevar al estado mount
EJERCICIO
REGISTRAR UNA BASE DE DATOS TARGET
 Usar el comando REGISTER DATABASE para registar la
base de datos target a la que esta actualmente conectado
EJERCICIO
REGISTRAR UNA BASE DE DATOS TARGET
 Revisar que la base de datos target fue registrada
exitosamente, usando el comando LIST INCARNATION
EJERCICIO
ANULAR EL REGISTRO UNA BASE DE DATOS TARGET
Problemática: Se requiere remover una base de datos target desde el
catálogo de recuperación
Solución: Remover el registro de la base de datos target ejecutando el
comando UNREGISTER DATABASE
 Conectarse a la base de datos catalog y a la base de datos
target que se requiere registrar
EJERCICIO
ANULAR EL REGISTRO UNA BASE DE DATOS TARGET
 Anular el registro de la base de datos target con el comando
UNREGISTER DATABASE
 Anular una base de datos no existente
EJERCICIO
ANULAR EL REGISTRO UNA BASE DE DATOS TARGET
 Anular el registro de la base de datos target cuando existen
varias bases de datos con el nombre como por ejemplo testdb
EJERCICIO
CATALOGANDO ARCHIVOS ANTIGUOS
Problemática: Existen imágenes de copia, piezas de respaldos
y algún archived redo log file. Estos archivos fueron generados antes de la
creación del catálogo de recuperación. Se requiere registrar estos
respaldos en el catálogo de RMAN
Solución: Registrar los respaldos con el comando CATALOG
 CATALOG DATAFILECOPY
 CATALOG CONTROLFILECOPY
 CATALOG BACKUPPIECE
 CATALOG ARCHIVELOG
EJERCICIO
CATALOGANDO ARCHIVOS ANTIGUOS
 CATALOG DATAFILECOPY
 CATALOG BACKUPPIECE
 CATALOG ARCHVIELOG
EJERCICIO
CATALOGANDO ARCHIVOS ANTIGUOS
 Catalogar un conjunto de archivos
 Catalogar automáticamente un conjunto de archivos
 Catalogar Flash Recovery Area
EJERCICIO
ACTUALIZANDO EL CATÁLOGO DE RECUPERACIÓN
Problemática: El Catálogo de recuperación en cierta ocación no se
encuentra disponible y esta desactualizado. Se requiere tener los registros
de respaldos actuales.
Solución: Usar el comando “RESYNC CATALOG” para actualizar la
metadata del catálogo
EJERCICIO
CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD
Problemática: Existe una gran cantidad de bases de datos registradas en
un solo catálogo de recuperación. Se requiere que la información de
respaldos este siempre disponible.
Solución: Configurar un Standby Recovery Catalog.
EJERCICIO
CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD
Estrategia para mantener el Standby Recovery Catalog
 Crear un catálogo de recuperación secundario en una base
de datos Oracle separada
 Registrar todas las Bases de Datos en el nuevo repositorio
 El catálogo primario siempre es sincronizado
automáticamente durante el proceso de backup
EJERCICIO
CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD
Estrategia para mantener el Standby Recovery Catalog
 Sincronizar el catálogo de recuperación secundario
manualmente con el comando “RESYNC CATALOG”
 Cambiarse al catálogo de recuperación secundario implica
sólo realizar la conexión después de sincronización.
RESPALDOS
CON RECOVERY MANAGER
RMAN sólo puede respaldar los siguientes archivos
 DATAFILES
 CONTROLFILES
 ARCHIVED REDO LOGS
 IMAGE COPIES (DATAFILES y CONTROLFILES)
 BACKUP PIECES
 SPFILE
¿QUE PUEDE RESPALDAR RMAN?
RMAN no respalda
 ARCHIVOS EXTERNOS
 ARCHIVOS DE CONFIGURACIÓN DE RED
 ARCHIVO DE PASSWORD
 ARCHIVOS RELACIONADOS CON ORACLE HOME
 BACKUP PIECES
 SPFILE
¿QUE PUEDE RESPALDAR RMAN?
Especificación de Canales
Especificando un dispositivo de salida
Especificando una copia de imagen o un backup set
ESPECIFICANDO OPCIONES DE RESPALDO
ESPECIFICANDO UN FORMATO PARA RESPALDOS
 Especificar la cláusula de formato en el comando de
respaldo para generar el nombre del archivo.
 Ajuste el formato para un canal específico.
 Ajuste el formato para un dispositivo específico.
 Si esta habilitado Flash Recovery Area, RMAN puede
generar un nombre automáticamente para el respaldo,
si el formato no es definido.
Nombre único generado para el archivo de respaldo
Grupo de discos ASM como destinos para respaldos
ESPECIFICANDO OPCIONES DE RESPALDO
Parámetro tag puede ser especificado en el comando de respaldo
TAGS PARA SALIDA DE RESPALDOS
EJERCICIO
RESPALDANDO EL CONTROLFILE
Problemática: Se requiere hacer un respaldo de CONTROLFILE para
siempre reflejar la estructura actual de la base de datos.
Solución: Utilizar el comando CONFIGURE para habilitar el respaldo
automático del CONTROLFILE
Utilizar el comando backup current controlfile manualmente
EJERCICIO
RESPALDANDO EL CONTROLFILE
Respaldar el controlfile cuando se realiza una operación de respaldo de
un tablespace
Desde RMAN, podemos invocar un comando de SQL*Plus para
realizar el respaldo del CONTROL FILE
EJERCICIO
RESPALDANDO EL SERVER PARAMETER FILE (SPFILE)
Problemática: Se requiere hacer un respaldo del SPFILE usando RMAN.
Solución: Utilizar el comando BACKUP SPFILE
EJERCICIO
RESPALDANDO DATAFILES
Problemática: Existe una base de datos con cientos de datafiles, y no se
tienen los recursos de almacenamiento para realizar respaldos diarios. Se
requiere implementar una estrategia para hacer un respaldo de un
subconjunto de la base de datos pero copiando un número determinado de
datafiles cada día.
Solución: Realizar respaldos individuales de los datafiles, especificando su
número y una opción de formato mediante el comando BACKUP
DATAFILE
EJERCICIO
RESPALDANDO DATAFILES
Especificar el nombre de archivo y el formato a nivel del canal, luego
realizar respaldo de ambos datafiles
Respaldo incremental de un datafile
Generar un respaldo como una copia de imagen con formato
EJERCICIO
RESPALDANDO TABLESPACES
Problemática: Se requiere hacer un respaldo de uno ó más tablespaces por
una tarea programada.
Solución: Utilizar el comando BACKUP TABLESPACE para respaldar uno
ó más tablespaces
Respaldar el tablespace SYSTEM con formato
EJERCICIO
RESPALDANDO TABLESPACES
Utilizar el comando BACKUPAS COPY TABLESPACE para generar
una copia de imagen
Respaldo incremental de un tablespace
EJERCICIO
HACIENDO UN RESPALDO COMPLETO DE LA BASE DE DATOS
Problemática: Se requiere hacer un respaldo completo de una base de
datos
Solución: Utilizar el comando BACKUP DATABASE para respaldar
completamente la base datos
Respaldar la base de datos y el archive redo log actual
EJERCICIO
RESPALDO ARCHIVED REDO LOG
Problemática: Se requiere hacer un respaldo de archived redo logs
Solución: Utilizar el comando BACKUP ARCHIVELOG para respaldar
cada número de secuencia de archived redo log.
Respaldar un archive redo log por cada número único de secuencia de
log
EJERCICIO
RESPALDO ARCHIVED REDO LOG
Limitando el alcance del respaldo
Respaldo de una secuencia específica mediante la cláusula
SECUENCE
Respaldo y eliminación de secuencias mediante la cláusula DELETE
INPUT
EJERCICIO
RESPALDO COMPLETO DE LA BASE DE DATOS
Problemática: Se requiere hacer un respaldo completo de una base de
datos; por ejemplo todos los datafiles, archived redo logs y control file.
Solución: Asegurar que el control file se respalde automáticamente cuando
sea parte del respaldo de la base datos.
1.
2.
3.
EJERCICIO
RESPALDO COMPLETO DE LA BASE DE DATOS
Listar registros de respaldos con LIST BACKUP BY FILE
EJERCICIO
RESPALDO COMPLETO DE LA BASE DE DATOS
Problemática: Se requiere hacer un respaldo completo de todos los
archivos de recuperación localizados en el Flash Recovery Area
Solución: Utilizar el comando BACKUP RECOVERY AREA para llevar a
cinta todos los archivos.
Respalda todos los archivos de recuperación en otra ubicación
 Es un respaldo incremental de todos los bloques
posteriormente a un respaldo de nivel 0 o nivel 1.
Busca primero el respaldo de nivel 1 y en su ausencia busca el
respaldo de nivel 0.
Respalda todos los cambios desde el respaldo de
nivel 0.
RESPALDO DIFERENCIAL INCREMENTAL
 Un respaldo diferencial incremental de nivel 1 respalda
bloques de datos modificados más recientemente desde el nivel
0, si no existe un respaldo de nivel 0, entonces utiliza un
respaldo de nivel 1.
Un respaldo incremental de nivel 1 respalda sólo los bloques
cambiados, este tiende a hacer más rápido que el nivel 0 en la
mayoría de los casos.
Se puede respaldar un BACKUP SET sólo al realizar un
respaldo incremental de nivel 1.
RESPALDO DIFERENCIAL INCREMENTAL
 Es un respaldo incremental de todos los bloques
posteriormente a un respaldo de nivel 0.
Diseñado para hacer más cortos y rápidos los respaldos de
los datafiles solo respalda bloques de datos que han cambiado
y no todos los bloques de datos del datafile.
RESPALDO INCREMENTAL ACUMULATIVO
Respaldos diferencial acumulativos
Utiliza más espacio de almacenamiento
Se recupera rápidamente
Respaldos diferencial incremental
Menos espacio de almacenamiento
Se requiere más tiempo de recuperación
RESPALDO INCREMENTAL ACUMULATIVO
EJERCICIO
REDUCCIÓN DE TIEMPO EN RESPALDOS INCREMENTALES
Problemática: Reducir el tiempo empleado en realizar respaldos
incrementales
Solución: Implementar la característica llamada BLOCK CHANGE
TRACKING para reducir el tiempo empleado en realizar un respaldo
incremental.
EJERCICIO
REDUCCIÓN DE TIEMPO EN RESPALDOS INCREMENTALES
Configurar característica BLOCK CHANGE TRACKING
Configurar el parámetro DB_CREATE_FILE_DEST
Habilitar la característica BLOCK CHANGE TRACKING
Crear el archivo de blocking change
EJERCICIO
EXCLUYENDO UN TABLESPACES DESDE UN RESPALDO
Problemática: Existe un tablespace que su contenido no cambia en el
tiempo y contiene datos temporales por lo tanto requiere ser excluido desde
el respaldo completo de la base de datos.
Solución: utilice el comando CONFIGURE EXCLUDE FOR TABLESPACE
para excluir el tablespace.
EJERCICIO
OMITIR ARCHIVOS READ-ONLY, OFFLINE O INACCESIBLES
Problemática: Se requiere que RMAN omita el respaldo de archivos read-
only, offline o datafiles inaccesibles y archived redo logs.
Solución: utilizar la opción SKIP en el comando BACKUP.
EJERCICIO
CREANDO UN RESPALDO COMPRIMIDO
Problemática: Por problemas de espacio, es necesario crear un respaldo
comprimido con RMAN.
Solución: utilizar el comando BACKUP con la opción
“AS COMPRESSED BACKUPSET”.
CASO DE PRUEBAS – RESPALDOS COMPRIMIDOS CON RMAN
Base de datos con un tamaño de 1.5 GB y se estima una proporción de
compresión de un 4.7%.
Compression Level ‘HIGH’
Backupset size: 226.18M time: 00:02:21
Compression Level ‘Medium’
Backupset size: 293.80M time: 00:00:30
Compression Level ‘Low’
Backupset size: 352.59M time: 00:00:20
Compression Level ‘Basic’
Backupset size: 276.55M time: 00:00:50
EJERCICIO
PARALELISMO DE RESPALDOS
Problemática: Se requiere crear respaldos de la base de datos en el menor
tiempo posible.
Solución: Utilizar paralelismo en los respaldos de base de datos
configurando el parámetro CHANNEL.
Respaldo utilizando paralelismo de grado dos con especificando dos
canales
EJERCICIO
PARALELISMO DE RESPALDOS
Respaldo de varios discos con paralelismo de nivel cuatro.
Configurar grado de paralelismo de forma persistente.
EJERCICIO
HACER RESPALDOS MAS RÁPIDOS DE ARCHIVOS
DE GRAN TAMAÑO
Problemática: Se requiere realizar respaldos más rápidos para archivos de
gran tamaño.
Solución: Respaldar rápidamente un gran datafile pero dividiendo el
trabajo del respaldo entre múltiples canales.
“Multisection” incorpora al respaldo de una sección del datafile en
múltiples canales para incrementar el rendimiento del proceso de respaldo.
EJERCICIO
HACER RESPALDOS MÁS RÁPIDOS DE ARCHIVOS
DE GRAN TAMAÑO (PROCEDIMIENTO)
 Conectarse a la base de datos target
 Configurar paralelismo en canales
 Ejecutar respaldo con la opción SECTION SIZE (TBS 600M)
EJERCICIO
RETENCION DE RESPALDOS POR LARGO TIEMPO
Problemática: Se requiere mantener ciertos respaldos más allá de la
política de retención definida para la base de datos.
Solución: Utilice el estamento KEEP en el comando BACKUP para retener
respaldos más allá de la política de respaldos definida.
RESTAURACIÓN
DE CONTROL FILE
EJERCICIO
RESTAURAR CONTROL FILE DESDE FLASH RECOVERY AREA
Problemática: Se habilita el Flash Recovery Area y se usa como
repositorio para respaldos de control file.
Solución: Al usar el Flash Recovery Area, se generan dos métodos para
recuperar el control file.
 Usar Autobackup de Control File
 No usar Autobackup de Control File
EJERCICIO
RESTAURAR CONTROL FILE DESDE FLASH RECOVERY AREA
Restaurar Control File desde el Autobackup
Restaurar Control File sin Autobackup
Derivando el DBID desde un archivo de autobackup
Incluir el formato de variable %F
=
Descripción de la variable %F
EJERCICIO
DATABASE IDENTIFIER (DBID)
c = Significa que es un respaldo de Control File
IIIIIIIIII = 10 caracteres que representan el DBID
YYYYMMDD = Fecha de creación del respaldo
QQ = Secuencia Hexadecimal incremental
EJERCICIO
RESTAURAR CONTROL FILE USANDO CATÁLOGO
Problemática: Se requiere restaurar el Control File y utilizar el catálogo
de recuperación.
Solución: Para restaurar el control file se debe conectar a la base de datos
target y a la base de datos del catálogo. Utilice el comando RESTORE
CONTROLFILE.
EJERCICIO
DATABASE IDENTIFIER (DBID)
Problemática: Se intenta recuperar el control file y se presenta el siguiente
error:
Solución: Se debe explícitamente hacer referencia a la propiedad Database
Identified (DBID).
¿Cómo puedo obtener el DBID de la base de datos?
 Podemos derivar el DBID desde un archivo de autobackup
 Podemos obtener el DBID desde la salida de RMAN
 Podemos escribir el DBID al archivo de alertas
 Podemos derivar el DBID desde un archivo de volcado
Obteniendo el DBID desde la salida de RMAN
La salida de una sesión de RMAN puede contener el DBID, la
cual es desplegada al momento de conectarse.
Escribiendo el DBID al archivo de alertas
 Package (DBMS_SYSTEM.KSDWRT)
EJERCICIO
DATABASE IDENTIFIER (DBID)
Derivando el DBID desde un archivo de volcado
Utilizar el comando SQL “ALTER SYSTEM DUMP” para
escribir el DBID a un archivo de trace.
Volcado de un archived redo log o un redo log en línea
Contenido de archivo de trace
EJERCICIO
DATABASE IDENTIFIER (DBID)
EJERCICIO
RESTAURAR CONTROL FILE
SIN FLASH RECOVERY AREA O CATÁLOGO DE RECUPERACIÓN
Problemática: Se requiere recuperar el control file y no se dispone de
Flash Recovery Area o catálogo de recuperación
Solución: Se requiere determinar el lugar donde se almacena el respaldo
de control file.
EJERCICIO
RESTAURAR CONTROL FILE
SIN FLASH RECOVERY AREA O CATÁLOGO DE RECUPERACIÓN
Usar Autobackup, con una pieza de respaldo y ubicación estándar
Caso 1
Caso 2
Caso 3
EJERCICIO
RESTAURAR CONTROL FILE
SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN
Usar Autobackup, con una pieza de respaldo sin una ubicación estándar
Caso 1
Caso 2
EJERCICIO
RESTAURAR CONTROL FILE
SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN
Sin Autobackup, con una pieza de respaldo y ubicación estándar
Caso 1
Caso 2
EJERCICIO
RESTAURAR CONTROL FILE
SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN
Sin Autobackup, con una pieza de respaldo sin una ubicación estándar
Caso 1
Caso 2
EJERCICIO
RESTAURAR CONTROL FILE DESDE OTRA UBICACIÓN
Problemática: Se requiere restaurar el Control File a otra ubicación
Solución: Usar el comando “RESTORE CONTROLFILE TO”
Usando autobackup
Usando Catálogo de recuperación
Usando manualmente una pieza de respaldo
EJERCICIO
RESTAURANDO UNA COPIA MÚLTIPLE DE CONTROL FILE
Problemática: Al iniciar la base de datos se presenta el siguiente error:
Solución: Para varias copias de control file, es necesario recuperar una
copia en buenas condiciones y sobrescribir el control file con problemas.
Se puede modificar el archivo de parámetros que hace referencia
sólo al archivo restante y que se encuentra en buenas
condiciones.
Puedes copiar un control file sin problemás físicos a la ubicación
del control file con problemas ó que ha sido perdido.
EJERCICIO
RESTAURAR CONTROL FILE DESDE OTRA UBICACIÓN
Modificar el archivo de parámetros
Copiar un control file sin problemas
EJERCICIO
RECREANDO EL CONTROL FILE
Problemática:
Usted ha experimentado una falla y perdío todos los control files.
Tampoco existen respaldos disponibles.
Se requiere cambiar la configuración de la base de datos y
solamente puede ser recreado el control file.
Se requiere mover un gran número de datafiles, y usted prefiere
recrear el control file con nuevos nombres y ubicación.
Solución: Recrear el Control File con el comando
RECUPERACIÓN COMPLETA
RECOVERY MANAGER
EJERCICIO
VERIFICANDO LA INTEGRIDAD DE RESPALDOS
Problemática: Se requiere restarurar y recuperar una base de datos; pero
es necesario verificar los respaldos actuales.
Solución: Usar el comando RESTORE …. VALIDATE o VALIDATE para
verificar la disponiblidad y la integridad de respaldos. Al agregar la
cláusula CHECK LOGICAL se activa el chequeo de corrupción lógica.
EJERCICIO
VERIFICANDO LA INTEGRIDAD DE RESPALDOS
Chequeo para corrupción lógica
Determinar el BS Key (Backup Set Key)
Usando el comando VALIDATE BACKUP
Chequeo de Corrupción lógica
EJERCICIO
PRUEBAS DE RECUPERACIÓN DE MEDIOS
Problemática: Se requiere realizar una recuperación de la base de datos;
pero se sospecha que uno de los archived redo log files esta malo. Es
necesario hacer una prueba para ver cual redo se encuentra disponible
para ser aplicado.
Solución: Ejecutar el comando RECOVER …. TEST.
Prueba de recuperación a nivel de tablespace y datafile
EJERCICIO
RECUPERACIÓN A NIVEL DE BASE DE DATOS
Problemática: Usted a perdido todos los datafiles; pero todavía existen
todos los redo log files en línea. Se requiere hacer una recuperación
completa.
Solución: La recuperación completa a nivel de la base de datos en esta
situación se puede ocupar el control file actual o un respaldo del control
file.
Utilizando el control file actual
Utilizando el control file desde un respaldo
EJERCICIO
RECUPERACIÓN A NIVEL DE BASE DE DATOS
EJERCICIO
RECUPERACIÓN A NIVEL DE TABLESPACE
Problemática: Usted esta viendo un error de medios asociado con varios
datafiles contenidos en un tablespace. Se requiere hacer una recuperación
completa de todos los datafiles asociados con el tablespace que tiene
problemas.
Solución: Use comandos RESTORE TABLESPACE y RECOVER
TABLESPACE para restaurar y recuperar todos los datafiles asociados
con el tablespace.
Recuperar mientras la base de datos no esta abierta
Recuperar mientras la base de datos esta abierta
EJERCICIO
RECUPERACIÓN A NIVEL DE TABLESPACE
EJERCICIO
RECUPERACIÓN A NIVEL DE DATAFILE
Problemática: Un datafile presenta un error de medios. No se quiere
restaurar y recuperar completamente la base de datos y todos los datafiles
asociados al tablespace.
Solución: Use comandos RESTORE DATAFILE y RECOVER DATAFILE
para restaurar y recuperar uno o más datafiles.
Recuperar mientras la base de datos no esta abierta
Recuperar mientras la base de datos esta abierta
EJERCICIO
RECUPERACIÓN A NIVEL DE DATAFILE
Problemática: Se presenta un error de medios y no es posible restaurar
datafiles a sus ubicaciones originales.
Solución: Usar los comandos SET NEWNAME y SWITCH para restaurar
los datafiles a otra ubicación.
EJERCICIO
RESTAURANDO DATAFILES A OTRAS UBICACIONES
Cambiar de ubicación los datafiles 4 y 5
EJERCICIO
RECUPERACIÓN A NIVEL DE DATAFILE
Cambiar de ubicación los datafiles 4 y 5 con la base de datos en estado
OPEN.
EJERCICIO
RECUPERACIÓN A NIVEL DE DATAFILE
EJERCICIO
RECUPERACIÓN A NIVEL DE BLOQUES
Problemática: En el archivo de alertas de la base de datos, se presenta un
error de corrupción de bloques en un datafile de gran tamaño.
Solución: Usar el comando RECOVER DATAFILE …BLOCK para
recuperar bloques de forma individual.
EJERCICIO
RECUPERACIÓN A NIVEL DE BLOQUES
Detectando bloques de datos corruptos:
Archivo de Alertas de alertas
V$DATABASE_BLOCK_CORRUPTION
Recupera todos los bloques listados como corruptos
Otra forma de recuperar bloques corruptos
EJERCICIO
RECUPERACIÓN DE UN TABLESPACE READ-ONLY
Problemática: Se ejecuta el comando RESTORE DATABASE y se observa
que existen datafiles asociados a un tablespace read-only; por lo tanto no
se puede restaurar.
Solución: Use el comando CHECK READONLY para restaurar datafiles
asociados a tablespaces read-only.
Usando comando CHECK READONLY
Restaurando dos tablespaces read-only, después de restaurar
completamente la base de datos
EJERCICIO
RECUPERACIÓN DE UN TABLESPACE READ-ONLY
EJERCICIO
RESTAURANDO TABLESPACES TEMPORALES
Problemática: RMAN no obtuvo una copia del tablespace temporal y
requiere que sea parte de la estrategia del respaldo.
Solución: No es necesario restaurar o recrear el tablespace temporal.
Cuando Oracle detecta que no se encuentra disponible lo crea
automáticamente.
EJERCICIO
FORZANDO A RMAN PARA RESTAURAR ARCHIVOS
Problemática: Se intenta restaurar un datafile dos veces y RMAN entrega
el siguiente mensaje:
Solución: Usar el comando FORCE para restaurar datafiles y archived
redo log files aunque existan en la ubicación.
EJERCICIO
FORZANDO A RMAN PARA RESTAURAR ARCHIVOS
Usar comando FORCE para restaurar un datafile, un archivo con un
número específico, un tablespace, una base de datos y un archive log
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
Problemática: Se requiere restaurar un respaldo más antiguo que el ultimo
respaldo realizado.
Solución: Usar un TAG NAME o el comando RESTORE … UNTIL
Especificar un Tag Name (MON_BACK)
Restaurar una base de datos desde Tag Name
Restaurar datafiles desde un Tag Name especifico
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
Use RESTORE … UNTIL (scn, sequence, restore point, time)
SCN
Seq
Restore
Point
Time
Time
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
EJERCICIO
RECUPERAR A TRAVES DE RESETLOGS
Problemática: Recientemente se ha realizado una recuperación incompleta
que ha requierido abrir la base de datos con el comando OPEN
RESETLOGS.
Solución: Desde Oracle 10g, se puede restaurar desde una encarnación
previa y recuperar mediante un resetlogs.
Restaurando y recuperando el control file y todos los datafiles
Aplica los archives 77, 78 y 79 (encarnación anterior)
luego 1 y 2 correspondientes a la encarnación actual.
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
Mostrando diferentes encarnaciones de Base de Datos
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
EJERCICIO
RESTAURANDO EL SERVER PARAMETER FILE (SPFILE)
Problemática: Se requiere restaurar el SPFILE por alguna de las
siguientes razones:
Usted eliminó el archivo accidentalmente
Usted requiere revisar una versión anterior del archivo actual
No es posible iniciar la instancia con el archivo actual
Solución: Habilitar el autobackup del control file.
Usando el catálogo de recuperación
Sin catálogo de recuperación y autobackup con ubicación
predeterminada
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
Sin catálogo de recuperación y autobackup sin ubicación predeterminada
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
EJERCICIO
RESTAURANDO ARCHIVED REDO LOG FILES
Problemática: RMAN automáticamente restaura cualquier archived redo
log file que sea necesario durante el proceso de recuperación. Casi nunca
es necesario restaurar manualmente, si cualquiera de las siguientes
situaciones se presenta:
Restaurar los archived redo log antes de recuperar
Restaurar los archived redo log a una nueva ubicación
Restaurar un archived redo log para ser analizado vía
LogMiner.
Solución: Restaurar a una ubicación estándar o a una ubicación no
definida.
Restaura todos los archived redo log a una ubicación estándar
Restaura todos los archived redo log desde la secuencia 50
Restaura todos los archived redo log desde la secuencia 5170 hasta la
secuencia 5178 usando el THREAD 1
Restaura el archived redo log desde la secuencia 1, aunque ya se
encuentren en disco
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
Restaura todos los archived redo log a otra ubicación
EJERCICIO
RESTAURANDO DESDE UN RESPALDO ANTIGUO
EJERCICIO
RECOBRANDO DATAFILES SIN RESPALDOS
Problemática: Recientemente se agrega un datafile a un tablespace y se
presenta una falla antes de realizar el respaldo programado.
¿Cómo podemos recuperar un datafile, si nunca fue respaldado?
Solución: Disponer de una buena línea base del respaldo y cualquier redo
log generado en el punto de la creación del datafile.
Usando el control file actual
Se puede apreciar el siguiente mensaje en la salida de comandos de
RMAN:
Recuperar el tablespace USER_IDX y abrir la base de datos
EJERCICIO
RECOBRANDO DATAFILES SIN RESPALDOS
Restauramos un control file desde un respaldo antiguo
Realizar la restauración y recuperación de la base de datos
Automáticamente recrea el datafile
Abrir la base de datos con la opción OPEN RESETLOGS
EJERCICIO
RECOBRANDO DATAFILES SIN RESPALDOS
RECUPERACIÓN INCOMPLETA
RECOVERY MANAGER
EJERCICIO
RECUPERACIÓN BASADA EN EL TIEMPO
Problemática: Se requiere restaurar la base de datos a una fecha y hora
previa.
Solución:
Especificar el tiempo como parte de los comandos RESTORE
y RECOVER
Usar el comando UNTIL TIME en un bloque RUN { }
Especificar el tiempo de restauración y recuperación
La Clausula SET UNTIL TIME dentro de un bloque RUN{ }
Se recomienda utilizar la función TO_DATE y especificar el formato de
fecha.
EJERCICIO
RECUPERACIÓN BASADA EN EL TIEMPO
EJERCICIO
RECUPERACIÓN BASADA EN SECUENCIAS DE LOG
Problemática: Se requiere restaurar la base de datos a una cierta
secuencia de log.
Solución:
Especificar UNTIL SEQUENCE como parte de los comandos
RESTORE Y RECOVER
Usar el comando UNTIL SEQUENCE en un
bloque RUN { }
Restaura y recupera la base de datos completamente la base de datos pero
no incluye el número de secuencia 50
Utiliza el comando UNTIL SEQUENCE en un bloque RUN { } y no
incluye el número de secuencia 125
EJERCICIO
RECUPERACIÓN BASADA EN SECUENCIAS DE LOG
EJERCICIO
RECUPERACIÓN BASADA EN CHANGE/SCN
Problemática: Se requiere realizar una recuperación incompleta a un SCN
particular.
Solución: Usar la cláusula UNTIL SCN para restaurar y no incluir el SCN
especificado.
Restaura todas las transacciones que tienen un SCN menor que 950
Usar SET UNTIL SCN dentro de un bloque RUN{ }
EJERCICIO
RECUPERACIÓN BASADA EN CHANGE/SCN
EJERCICIO
RECUPERANDO A UN PUNTO DE RESTAURACIÓN
Problemática: Usted requiere restaurar y recobrar a un punto de
restauración.
Solución: Antes de realizar este tipo de recuperación, se debe definir un
punto de restauración con el comando CREATE RESTORE POINT.
Además, se puede utilizar la cláusula UNTIL RESTORE POINT.
Creando un punto de restauración, mediante SQL*Plus
Consultar el SCN asociado al punto de restauración
Consultar el nombre del punto de restauración y su SCN
EJERCICIO
RECUPERANDO A UN PUNTO DE RESTAURACIÓN
Restaurando y recuperación a un punto de restauración
Usar la cláusula SET UNTIL RESTORE dentro del bloque RUN { }
EJERCICIO
RECUPERACIÓN BASADA EN CHANGE/SCN
EJERCICIO
RECOBRAR UNA BASE DE DATOS NOARCHIVELOG
Problemática: Usar RMAN para hacer un respaldo de la base de datos en
modo noarchivelog. Se requiere usar RMAN para restaurar la base de
datos.
Solución: Elegir un respaldo de Control File o el Control File actual.
Usando un respaldo de control file
Usando el control file actual
EJERCICIO
RECOBRAR UNA BASE DE DATOS NOARCHIVELOG
CARACTERÍSTICAS AVANZADAS
RECOVERY MANAGER
Chequeo físico
 Detecta bloques fracturados y bloques con fallas
(Checksum)
 DB_BLOCK_CHECKSUM=TRUE
Chequeo Lógico (BACKUP … CHECK LOGICAL)
 Filas de indices (Index Row) fuera de lugar
 Piesas de filas perdidas (Row Piece)
¿Por que es importante el chequeo de integridad?
 Proactivamente detecta corrupción en la base de datos
 Mantiene la salud de la base de datos
 Tiene un pequeño costo al momento de ejecutar
respaldos diarios
CHEQUEO DE INTEGRIDAD PARA BLOQUES
BACKUP VALIDATE
RESTORE VALIDATE
VALIDATE <objeto>
 DATABASE
 DATAFILE
 ARCHIVELOG
 RECOVERY AREA
CHEQUEO DE INTEGRIDAD PARA BLOQUES
Diccionario de Datos (Vistas)
V$DATABASE_BLOCK_CORRUPTION
 Bloques corruptos
Block Media Recovery
V$BACKUP_CORRUPTION, V$COPY_CORRUPTION
Bloques corruptos en backups (RMAN)
CHEQUEO DE INTEGRIDAD PARA BLOQUES
Block Media Recovery
 BLOCKRECOVER DATAFILE 48 BLOCK 142713;
 BLOCKRECOVER corruption list;
Reparación automática de Bloques (Automatic Block Repair)
 No requiere configuración
 En línea y transparente
 Requiere tener configurado Active Data Guard
REPARACION DE BLOQUES CORRUPTOS
Copiar una base de datos a una nueva ubicación
 Completamente automático
 Generalmente no puede ser utilizado en cruce
de plataformas
 Excepciones en Oracle support nota: 1079563.1
Facilita tareas de Administración
Procesos de Upgrade y testing
Crear base de datos Standby
Migración
Reporting
Chequeo de integridad
DUPLICACION DE BASE DE DATOS
Puede utilizar cualquier copia de seguridad de RMAN
Flexibilidad de uso (discos o cinta)
Bajar ancho de banda y espacio pero utilizando
“COMPRESIÓN”
Gana seguridad pero usando “ENCRIPTACIÓN”
DUPLICACION BASADA EN RESPALDOS
Clonación puede ser creada en cualquier punto en el tiempo
Clonación puede ser completa o subset de datos
Duplicando a un Sistema (Checheo de Integridad de
respaldos)
DUPLICACION BASADA EN RESPALDOS
Copia directamente desde una base de datos productiva
No requiere backups preexistentes
No requiere almacenamiento intermedio, incluso
para transferencias ASM
Copia contiene los datos más actuales
ACTIVE DUPLICATE
Se puede realizar el proceso de Active Duplicate directamente
desde una base de datos standby física, para bajar la carga
de clonación con respecto a la Base de Datos Primaria.
ACTIVE DUPLICATE
Escenario – Copiar tablespace “data2” al nuevo sistema
MIGRACIÓN A DIFERENTES PLATAFORMAS
Copia base de datos o tablespace a distintas plataformas
No es completamente automático como un DUPLICATE
Requiere una copia read-only de la data
No puede elegir cualquier punto en el tiempo
Mismo “endian transport”
Transporte de Base de Datos o Tablespace
Cross-endian transport
Transporte solo para Tablespace
MIGRACIÓN A DIFERENTES PLATAFORMAS
La diferencia es trivial
Cada plataforma lo hace a su manera
Plataformas escriben data de izquierda a derecha, algunas de
derecha a izquierda
Sin embargo, cuando los datos se transfieren desde un sistema
“BIG endian” a un sistema “LITTLE endian” o viceversa, la
conversión es requerida.
¿QUÉ ES EL FORMATO ENDIAN?
¿Qué número decimal está representado en un bytes de 8-bit?
16 + 4 + 1 = 21
 Bit más significativo  Bit menos significativo
¿QUÉ ES EL FORMATO ENDIAN?
La representación binaria en 16-bit del número decimal 258
 Byte más significativo  Byte menos significativo
¿QUÉ ES EL FORMATO ENDIAN?
El Byte menos significativo sera escrito primero a disco
 Byte más significativo  Byte menos significativo
FORMATO LITTLE-ENDIAN
El Byte más significativo es escrito primero a disco
 Byte más significativo  Byte menos significativo
FORMATO BIG-ENDIAN
Plataformas soportadas – V$TRANSPORTABLE PLATFORM
BIG-ENDIAN VS LITTLE-ENDIAN
Utilizar comando TRANSPORT TABLESPACE.
Determinar el Formato ENDIAN de ambas plataformas de Sistema
Operativo.
Mismo Formato ENDIAN (Direct Transport Tablespace)
TRANSPORTANDO TABLESPACES
A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
1. Colocar Tablespace a transportar en modalidad Read-Only
2. Utilice el comando CONVERT TABLESPACE
TRANSPORTANDO TABLESPACES
A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
3. Verificar que dispone de dos datafiles, los cuales forman parte del
tablespace MYSPACE en el directorio /tmp/dba
TRANSPORTANDO TABLESPACES
A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
4. Utilizar Data Pump Export para crear el archivo dump con la
metadata correspondiente al tablespace MYSPACE
TRANSPORTANDO TABLESPACES
A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
5. Mover ambos datafiles convertidos en el paso dos y el archivo dump
(myspace.dmp) originado en el paso tres al servidor de destino:
6. Importar la metadata del tablespace transportado en la base de datos
destino:
TRANSPORTANDO TABLESPACES
A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
.
Restricciones Generales:
1.- Ambas plataformas deben tener el mismo formato ENDIAN
2.- Redo Log Files y Control Files desde el origen no son
transportados.
3.- Se abre la base de datos con OPEN RESETLOGS
4.- Tablespace Temporal debe ser recreado
5.- BFILEs, Tablas externas y directorios, archivo de password no
son transportados.
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
EJERCICIO
TRANSPORTANDO TABLESPACES A DIFERENTES
PLATAFORMAS DE SISTEMA OPERATIVO
Problemática (WINDOWS A LINUX)
Se requiere transportar uno ó más tablespaces a otra base de datos que
esta corriendo en una plataforma diferente de sistema operativo utilizando
Backup realizados con RMAN
1. Verificar que el origen y destino tienen el mismo format ENDIAN
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
2. Para distintos tipos de formato ENDIAN
Revisar la nota de Metalink:
Nota 243304.1:
10g Transportable Tablespaces Across Different Platforms
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
Consideraciones
1. Colocar la base de datos origen en modalidad READ-ONLY
antes de ejecutar el PACKAGE DBMS_TDB.CHECK_DB
2. Utilizar PACKAGE de validación DBMS_TDB.CHECK_DB
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
3. La plataforma destino es Linux x86 de 32-bit.
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
4. Ejecutar el package DBMS_TDB.CHECK_EXTERNAL
Verificar tablas externas, las cuales no son llevadas automáticamente
en el proceso de transporte.
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
5. Colocar la base de datos TARGET en modalidad Read-Only.
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
6. CONVERT DATABASE (script de transporte)
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
7. En la plataforma target
8. Ejecutar el script mydb y conectarse como el usuario SYS:
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
Nota : How to Change the DBID, DBNAME Using NID Utility
in versión 10gR2 onwards [ID 863800.1]
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
Se deben recompilar todos los objetos inválidos mediante
el script $ORACLE_HOME/rdbms/admin/utlrp.sql
TRANSPORTANDO UNA BASE DE DATOS COMPLETA
CROSS-PLATFORM
EJERCICIO
TRANSPORTAR UNA BASE DE DATOS CON
METODOLOGÍA CROSS-PLATFORM
Problemática (WINDOWS A LINUX)
Se requiere transportar una Base de Datos desde un Sistema Operativo
Windows a un Sistema Operativo Linux mediante RMAN.
1. Ejecutar el procedimiento DBMS_TDB.CHECK_DB para revisar
la compatibilidad antes de realizar el proceso de conversión.
Base de Datos (Origen)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
2. Ejecutar el package DBMS_TDB.CHECK_EXTERNAL
Verificar tablas externas, las cuales no son llevadas automáticamente
en el proceso de transporte.
Base de Datos (Origen)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
3. Colocar la base de datos SOURCE en modalidad Read Only
Base de Datos (Origen)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
4. Ejecutar comando CONVERT DATABASE en la Base de Datos
origen con la cláusula “ON TARGET PLATFORM”
Base de Datos (Origen)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
 CONVERT DATABASE genera tres archivos para
el transporte de la Base de Datos
 PFILE en la plataforma TARGET
 Script transportscript.sql
 Script convertscript.rman
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
5. Copiar todos los Datafiles desde el origen mientras
la base de Datos se encuentra en modalidad READ ONLY
y moverlos a la plataforma destino.
6. Ejecutar el script convertscript.rman en la base de datos
destino.
7. Volver a modalidad READ-WRITE la base de datos origen
8. Ejecutar el comando CONVERT DATAFILE en la plataforma
de destino.
Base de Datos (Destino)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
TIP: Separar cada comando por datafile y especificar la ubicación por cada archivo.
Base de Datos (Destino)
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
Todos los archivos de la base de datos origen son convertidos al formato
de la plataforma destino y están listos para ser usados por la nueva instancia.
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
9. Realizar cambios en el PFILE y el script transportscript.sql
producido por el script convert database.
 Creando la nueva instancia
$ sqlplus /nolog
SQL> @transportscript
 Script transportscript.sql
 Inicia la nueva Instancia
 Crea control files
 Invoca script utlrp.sql
TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO
DATAFILES EN LA PLATAFORMA TARGET
EJERCICIO
CONVERTIR DATAFILES EN PLATAFORMA TARGET
Problemática (CONVERTIR DATAFILES)
Se requiere transportar una Base de Datos y realizar la conversión
de los Datafiles en la plataforma destino en vez de utilizar la plataforma
origen.
FLASH DATA ARCHIVE
FAST RECOVERY AREA
COMPARACION FLASH DATA ARCHIVE
• Flashback Data Archive • Flashback Database
• Beneficio
• Principal
• Acceso a la data en
cualquier punto en el
tiempo sin cambiar la
data actual
• Físicamente mueve
completamente la base
de datos en el tiempo
• Operación • Operación en línea,
seguimiento habilitado,
mínimo uso de
recursos
• Operación fuera de línea,
requiere preconfiguración
y recursos
• Granuralidad • Tabla Base de Datos
• Acceso
• point-in-time
• Cualquier número de
tablas
• Una por Base de Datos
FLASHBACK DATA ARCHIVE
ARQUITECTURA - FLASHBACK DATA ARCHIVE
PREPARANDO LA BASE DE DATOS
Create one or more tablespaces for data archives and grant
QUOTA on the tablespaces.
Grant the FLASHBACK ARCHIVE ADMINISTER system
privilege to create and maintain flashback archives to the archive
administrator.
Grant the FLASHBACK ARCHIVE object privilege (to enable
history tracking for specific tables in the given flashback archives)
to the archive user.
Grant FLASHBACK and SELECT privileges to query specific
objects as necessary.
PROCEDIMIENTO DE CONFIGURACIÓN
FLASHBACK DATA ARCHIVE
Create the flashback data archive.
Optionally, specify the default flashback data archive.
Enable the flashback data archive.
View flashback data archive data
USING FLASHBACK DATA ARCHIVE
1. Create the flashback data archive:
2. Enable history tracking for a table in the archive:
3. View the historical data:
CREATE FLASHBACK ARCHIVE fla1
TABLESPACE tbs1 QUOTA 10G RETENTION 5 YEAR;
ALTER TABLE inventory FLASHBACK ARCHIVE fla1;
SELECT product_number, product_name, count
FROM inventory AS OF TIMESTAMP TO_TIMESTAMP
('2007-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
CONFIGURING A DEFAULT FLASHBACK DATA ARCHIVE
1. Create a default flashback data archive:
2. Enable history tracking for a table:
Note: The name of the flashback data archive is not needed
because the default one is used.
3. Disable history tracking:
CREATE FLASHBACK ARCHIVE DEFAULT fla2
TABLESPACE tbs1 QUOTA 10G RETENTION 2 YEAR;
ALTER TABLE stock_data FLASHBACK ARCHIVE;
ALTER TABLE stock_data NO FLASHBACK ARCHIVE;
FILLING THE FLASHBACK DATA ARCHIVE SPACE
 What happens when your flashback data archive gets full?
*90% space usage
*Raising of errors:
*ORA-55623 "Flashback Archive "%s" is blocking and tracking on all
tables is suspended“
*ORA-55617 "Flashback Archive "%s" runs out of space and tracking
on "%s" is suspended“
*Generating alert log entry
*Suspending tracking
* MAINTAINING FLASHBACK DATA ARCHIVES
Adding space:
Changing retention time:
Purging data:
Dropping a flashback data archive:
ALTER FLASHBACK ARCHIVE fla1
ADD TABLESPACE tbs3 QUOTA 5G;
ALTER FLASHBACK ARCHIVE fla1 PURGE BEFORE
TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' day);
ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 2 YEAR;
DROP FLASHBACK ARCHIVE fla1;
* FLASHBACK DATA ARCHIVE : EJEMPLOS
To enforce digital shredding:
To access historical data:
To recover data:
CREATE FLASHBACK ARCHIVE tax7_archive
TABLESPACE tbs1 RETENTION 7 YEAR;
SELECT symbol, stock_price FROM stock_data
AS OF TIMESTAMP TO_TIMESTAMP ('2006-12-31 23:59:00',
'YYYY-MM-DD HH24:MI:SS')
INSERT INTO employees
SELECT * FROM employees AS OF TIMESTAMP
TO_TIMESTAMP('2007-06-12 11:
30:00','YYYY-MM-DD HH24:MI:SS')
WHERE name = 'JOE';
* FLASHBACK DATA ARCHIVE : DDL RESTRICTIONS
 Using any of the following DDL statements on a table enabled
for Flashback Data Archive causes an ORA-55610 error:
*ALTER TABLE statement that does any of the following:
*Performs partition or subpartition operations
*Converts a LONG column to a LOB column
*Includes an UPGRADE TABLE clause, with or without an INCLUDING
DATA clause
*DROP TABLE statement
*TRUNCATE TABLE statement
* SUPPORTING TRANSPARENT SCHEMA EVOLUTION
 Additional DDL supported:
*DROP, RENAME, and MODIFY column
*DROP and TRUNCATE partition
*RENAME and TRUNCATE table
 Flashback queries work across DDL changes: Output is
presented accordingly.
 All other DDL not automatically supported
* SUPPORTING FULL SCHEMA EVOLUTION
 DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA and
DBMS_FLASHBACK_ARCHIVE.REASSOCIATE_FBA
*Disables Flashback Data Archive on specified tables, allowing more
complex DDL (upgrades, split tables)
*Enforces schema integrity after association
*Base table and history table schemas must be the same.
*Requires the FLASHBACK ARCHIVE ADMINISTER privilege
* VIEWING FLASHBACK DATA ARCHIVES
Viewing the results:
View Name Description
*_FLASHBACK_ARCHIVE Displays information about flashback
data archives
*_FLASHBACK_ARCHIVE_TS Displays tablespaces of flashback
data archives
*_FLASHBACK_ARCHIVE_TABLES Displays information about tables that
are enabled for flashback archiving
* GUIDELINES AND USAGE TIPS
COMMIT or ROLLBACK before querying past data
Use of current session settings
Obtain SCN with the
DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER
function.
Compute a past time with:
(SYSTIMESTAMP - INTERVAL '10' MINUTE)
Use System Change Number (SCN) where precision is needed (time
stamps have a three-second granularity).
* FLASHBACK TRANSACTION BACKOUT
Logical recovery option to roll back a specific transaction and
all its dependent transactions
*Using redo logs and supplemental logging
*Creating and executing compensating transactions
*You finalize changes with commit or roll back.
Faster and easier than laborious manual approach
* PREREQUISITES
… and database must be in ARCHIVELOG mode
* FLASHING BACK A TRANSACTION
You can flash back a transaction by using Enterprise Manager
or the command line.
Enterprise Manager uses the Flashback Transaction Wizard,
which calls the
DBMS_FLASHBACK.TRANSACTION_BACKOUT procedure
with the NOCASCADE option.
If the PL/SQL call finishes successfully, it means that the
transaction does not have any dependencies and a single
transaction is backed out successfully.
* USING THE FLASHBACK TRANSACTION WIZARD
* USING THE DBMS_FLASHBACK.TRANSACTION_BACKOUT
PROCEDURE
CREATE TYPE XID_ARRAY AS VARRAY(100) OF RAW(8);
CREATE OR REPLACE PROCEDURE TRANSACTION_BACKOUT(
numberOfXIDs NUMBER, -- number of transactions passed as
input
xids XID_ARRAY, -- the list of transaction ids
options NUMBER default NOCASCADE, -- back out dependent
txn timeHint TIMESTAMP default MINTIME -- time hint on the txn
start
);
* VIEWING A DEPENDENCY REPORT
After choosing your backout option, the dependency report is
visible in the DBA_FLASHBACK_TXN_STATE and
DBA_FLASHBACK_TXN_REPORT views.
*Review the dependency report that shows all transactions
which were backed out.
*Commit the changes to make them permanent.
*Roll back to discard the changes.
* VIEWING FLASHBACK TRANSACTION METADATA
View Name Description
*_FLASHBACK_TXN_REPORT Displays related XML information
*_FLASHBACK_TXN_STATE Displays the transaction identifiers for
backed-out transactions
SQL> SELECT * FROM DBA_FLASHBACK_TXN_STATE;
COMPENSATING_XID XID BACKOUT_MODE DEPENDENT_XID USER#
---------------- ---------------- ------------ --------------- --------
0500150069050000 03000000A9050000 4 0
0500150069050000 05001E0063050000 4 03000000A9050000 0
FLASHBACK RECOVERY
EJERCICIO
ESTADO DE FLASHBACK EN LA BASE DE DATOS
Problemática: Revisar si la base de datos tiene habilitado FLASHBACK.
Solución: Consultar la vista V$DATABASE. La columna FLASHBACK_ON
posee el estado actual del FLASHBACK.
Configurar el parámetro DB_RECOVERY_FILE_DEST
Listando la información de los parámetros:
DB_RECOVERY_FILE_DEST_SIZE
DB_RECOVERY_FILE_DEST
EJERCICIO
HABILITAR FLASHBACK EN LA BASE DE DATOS
Base de datos en modo ARCHIVELOG
Bajar y montar instancia
Habilitar FLASHBACK
Abrir la base de datos
EJERCICIO
HABILITAR FLASHBACK EN LA BASE DE DATOS
Consultar la vista V$FLASHBACK_DATABASE_LOG
EJERCICIO
¿HASTA QUE PUNTO EN EL PASADO SE PUEDE IR?
EJERCICIO
FLASHING BACK DE UNA BASE DE DATOS CON RMAN
Problemática: Se requiere realizar flashback de una base de datos en el
tiempo mediante RMAN.
Solución: Se puede hacer Flashback :
A un específico punto en el tiempo con fecha y hora
A un número de SCN específico
Ultima operación de RESETLOGS
Un punto de restauración
EJERCICIO
FLASHING BACK DE UNA BASE DE DATOS CON RMAN
 Operación de Flashback en ambas Direcciones
 Flashback Logs
Pasos previos para FLASHBACK
1.- Revisar hasta que punto se puede volver en el tiempo para realizar
Flashback de la base de datos
2.- Conectarse a RMAN (rman target = / )
3.- Bajar la base de datos con SHUTDOWN IMMEDIATE
4.- Montar la instancia de base de datos (STARTUP MOUNT)
5.- Realizar FLASHBACK
6.- Abrir la base de dato con OPEN RESETLOGS
EJERCICIO
FLASHING BACK DE UNA BASE DE DATOS CON RMAN
1.- Conectarse como SYSDBA y obtener el SCN actual
2.- Ejecute los pasos desde el 1 al 4 vistos anteriormente
3.- FLASHBACK al SCN elegido. Para la instancia, volver al SCN
1050951
4.- Abrir la base de datos con OPEN RESETLOGS
EJERCICIO
FLASHING BACK DE UNA BASE DE DATOS A UN SCN
5.- Para determinar el punto exacto, abrir la base de datos en modalidad
OPEN READ ONLY
7.- Nuevamente puede ir más atrás en el tiempo, nuevamente realizando
un FLASHBACK a un SCN anterior
8.- Para determinar el punto exacto, nuevamente abrir la base de datos en
modalidad OPEN READ ONLY ó OPEN RESETLOGS.
EJERCICIO
FLASHING BACK DE UNA BASE DE DATOS A UN SCN ESPECÍFICO
6.- Chequear los datos en las tablas donde existieron problemas de
corrupción lógica
1.- Seguir los pasos del 1 al 4.
2.- Usar el comando FLASHBACK y retroceder dos minutos en el tiempo
EJERCICIO
FLASHING BACK DE UNA BASE A UN TIEMPO DETERMINADO
1.- Seguir los pasos del 1 al 4.
2.- Hacer FLASHBACK a un tiempo específico, sin referenciar al
SYSDATE y utilizar la función TO_DATE
EJERCICIO
FLASHING BACK DE UNA BASE A UN TIEMPO DETERMINADO
1.- Seguir los pasos del 1 al 4.
2.- FLASHBACK a un punto de restauración llamado “rp6”
EJERCICIO
FLASHING BACK A UN PUNTO DE RESTAURACION
1.- Seguir los pasos del 1 al 4.
2.- Use el siguiente comando para realizar FLASHBACK a la última
operación de RESETLOGS
EJERCICIO
FLASHING BACK ANTES DEL ÚLTIMO RESETLOGS
EJERCICIO
ESTIMANDO LA CANTIDAD DE FLASHBACK LOGS GENERADOS
Problemática: Se requiere saber cuantos flashback logs son generados en
distintos intervalos de tiempo.
Solución: Consultar la vista V$FLASHBACK_DATABASE_STAT para
obtener los cambios de base de datos y los cambios de flashback ocurridos
cada una hora
EJERCICIO
ESTIMANDO LA CANTIDAD DE FLASHBACK LOGS GENERADOS
Identificandos cambios generados en la base de datos (BD-
FLASHBACK)
EJERCICIO
CREANDO UN PUNTO DE RESTAURACION NORMAL
Problemática: Se requiere crear un punto de restauración (no garantizado
o normal).
Solución: Crear un punto de restauración llamado rp1
EJERCICIO
CREANDO UN PUNTO DE RESTAURACION GARANTIZADO
Problemática: Se requiere crear un punto de restauración (no garantizado
o normal).
Solución: Crear un punto de restauración llamado rp1
EJERCICIO
RECUPERANDO UNA TABLA ELIMINADA
Problemática: Por error se ha eliminado una tabla. Se requiere reintegrar
sin recuperar la base de datos
Solución: Si una tabla fue eliminada hace un tiempo, actualmente se puede
encontrar en el RECYCLE BIN.
EJERCICIO
RECUPERANDO UNA TABLA ELIMINADA
1.- Conectarse a la base de datos con el usuario dueño de la tabla
2.- Revisar si la tabla existe en el RECYCLE BIN
3.- Revivir la tabla desde el RECYCLE BIN con el comando
EJERCICIO
FLASHING BACK A UNA TABLA ESPECÍFICA
1.- Habilitar la propiedad de movimiento de filas en la tabla
2.- Activar la propiedad en la caso que no se encuentre activa
3.- Revisar hasta que punto en el tiempo se puede retrocer mediante
Flashback
EJERCICIO
FLASHING BACK A UNA TABLA ESPECÍFICA
4.- Flasback de la tabla a un tiempo determinado
5.- Podemos hacer flashback dos o tres minutos en el pasado
6.- Podemos avanzar en el tiempo, usando el mismo estamento de
flashback
RESPALDO Y RECUPERACIÓN
ASM METADATA
EJERCICIO
RESPALDO Y RECUPERACIÓN + ASM METADATA
1.- Crear un Diskgroup adicional para propositos de prueba
2.- Crear un nuevo tablespace en el nuevo DiskGroup
EJERCICIO
RESPALDO Y RECUPERACIÓN + ASM METADATA
3.- Backup del tablespace asmtest y metadata de +ASM
EJERCICIO
RESPALDO Y RECUPERACIÓN + ASM METADATA
4.- Simular la falla del DiskGroup
EJERCICIO
RESPALDO Y RECUPERACIÓN + ASM METADATA
5.- Recobrar la metadata de ASM y el DiskGroup
EJERCICIO
RESPALDO Y RECUPERACIÓN + ASM METADATA
MUCHAS GRACIAS!!!!!!
Consultas y Emergencias
CONSULTADBABLOCK@GMAIL.COM

Más contenido relacionado

La actualidad más candente

Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
Yogiji Creations
 
Puestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datosPuestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datos
rumus1000
 
Diapositivas base de datos...
Diapositivas base de datos...Diapositivas base de datos...
Diapositivas base de datos...
Dialy Ramirez
 

La actualidad más candente (20)

MySQL Backup & Recovery
MySQL Backup & RecoveryMySQL Backup & Recovery
MySQL Backup & Recovery
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
Rman Presentation
Rman PresentationRman Presentation
Rman Presentation
 
Oracle backup and recovery
Oracle backup and recoveryOracle backup and recovery
Oracle backup and recovery
 
Puestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datosPuestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datos
 
Oracle dataguard overview
Oracle dataguard overviewOracle dataguard overview
Oracle dataguard overview
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster Recovery
 
Percona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient BackupsPercona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient Backups
 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDB
 
Diapositivas base de datos...
Diapositivas base de datos...Diapositivas base de datos...
Diapositivas base de datos...
 
Migrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDSMigrate Oracle database to Amazon RDS
Migrate Oracle database to Amazon RDS
 
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
Raid
RaidRaid
Raid
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21c
 
Oracle 12c Multitenant architecture
Oracle 12c Multitenant architectureOracle 12c Multitenant architecture
Oracle 12c Multitenant architecture
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Oracle 12c Architecture
Oracle 12c ArchitectureOracle 12c Architecture
Oracle 12c Architecture
 
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast SlidesOracle Fleet Patching and Provisioning Deep Dive Webcast Slides
Oracle Fleet Patching and Provisioning Deep Dive Webcast Slides
 
Less06 networking
Less06 networkingLess06 networking
Less06 networking
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 

Similar a Hands-On Oracle Recovery Manager RMAN

R ecuperacion
R ecuperacionR ecuperacion
R ecuperacion
victdiazm
 
Abf leccion 17
Abf leccion 17Abf leccion 17
Abf leccion 17
victdiazm
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08
victdiazm
 
Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05
Alexander Calderón
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
victdiazm
 
Abf leccion 19
Abf leccion 19Abf leccion 19
Abf leccion 19
victdiazm
 
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munozArranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
pelaof15
 

Similar a Hands-On Oracle Recovery Manager RMAN (20)

R ecuperacion
R ecuperacionR ecuperacion
R ecuperacion
 
Abf leccion 17
Abf leccion 17Abf leccion 17
Abf leccion 17
 
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
Capítulo 19 (Técnicas de recuperación de datos ) y Capítulo 20 (Conceptos de ...
 
Backups en Oracle
Backups en OracleBackups en Oracle
Backups en Oracle
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)
 
Restauración de bd
Restauración de bdRestauración de bd
Restauración de bd
 
Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copia
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
6.2. restauracion de bd
6.2.  restauracion de bd6.2.  restauracion de bd
6.2. restauracion de bd
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 
Modificacion de registros de windows
Modificacion de registros de windows Modificacion de registros de windows
Modificacion de registros de windows
 
Abf leccion 19
Abf leccion 19Abf leccion 19
Abf leccion 19
 
Sql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and RestoreSql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and Restore
 
control files
control filescontrol files
control files
 
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munozArranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
Arranque y parada_de_la_base_de_datos._ficheros_de_traza.-.jesus_miguel_munoz
 
Conclu miriam
Conclu miriamConclu miriam
Conclu miriam
 

Último

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 

Último (20)

Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 

Hands-On Oracle Recovery Manager RMAN

  • 1. *
  • 3. Protege la base de datos ante varios tipos de fallas posibles. Aumenta el tiempo medio entre fallos. Disminuye el tiempo medio de recuperación. Minimizar la perdida cuando hay un fallo de la base de datos. No tiene costo adicional de licenciamiento. Puede ser integrado a Enterprise Manager. Automatiza el respaldo y la restauración de la base de datos. Introducido en la versión Oracle8. INTRODUCCION ¿QUÉ PROPOSITO TIENE UTILIZAR RMAN?
  • 4. Fallas de estamento. Fallas de proceso usuario. Fallas de red. Fallas de instancia. Errores de usuario. Falla de medios. TIPOS DE ERRORES DE BASE DE DATOS
  • 5. FALLAS DE ESTAMENTO  Un programa intenta ingresar datos no válidos en una tabla. Lógica erronea de un proceso. Job con una larga inserción de datos. Job con importación de datos Proceso falla por falta de privilegios.
  • 6. FALLAS DE PROCESO USUARIO  Un proceso termina de forma abrupta.  Usuario realiza desconexión anormal  Error de un programa desde un terminal  Proceso Background Oracle puede hacer ROLLBACK.
  • 7. FALLAS DE RED  Una falla de red puede causar una falla en la base de datos.  Oracle Net Listener.  Tarjeta de interfaz de red (NIC).  Fallo en la conexión de red.
  • 8. FALLAS DE INSTANCIA  Falla de instancia por un problema de hardware.  Falla en fuentes de poder.  Procedimiento de baja de emergencia.  Fallo en proceso PMON.
  • 9. ERRORES DE USUARIO  Accidentalmente un usuario elimina una tabla.  Usuario modifica o elimina datos de una tabla.  Procedimiento de baja de emergencia.
  • 10. FALLA DE MEDIOS  Perdida de un disco.  Fallo en una controladora de disco.  Fallo del sistema principal.  Corrupción de archivos.  Sobrescribir o borra un datafile.  Falla en lectura y escritura de un disco.
  • 11. CONCEPTOS DE RESPALDO Y RECUPERACIÓN ARQUITECTURA  Proceso Checkpoint  Proceso Log Writer.  Proceso de Archiver. Procesos Background que realizan tareas de críticas de respaldo y recuperación
  • 12.  Envía una señal al proceso Database Writer (DBWn) en cada Checkpoint.  Actualiza el encabezado de los datafiles con información de Checkpoint.  Actualiza el Control File con la información de Checkpoint El proceso Checkpoint hace tres cosas: EL PROCESO CHECKPOINT
  • 13. EL PROCESO LOG WRITTER El proceso Log Writer transfiere el contenido del Redo Log Buffer a los archivos de Redo Log bajo las siguientes circuntancias:  En cada COMMIT  Cada tres segundos  Cuando el Redo Log Buffer alcanza un tercio de su capacidad Los archivos de Redo Log en línea graban todos los cambios hechos a la base de datos.
  • 14. EL PROCESO ARCHIVER Proceso background opciónal y es el encargado de archivar los Redo Logs en línea cuando son llenados, antes de ser sobrescritos por datos nuevos.  La base de datos debe estar configurada en modalidad Archive Log.
  • 15. ESTRUCTURAS FÍSICAS DE BASES DE DATOS UTILIZADAS EN RECUPERACIÓN Es necesario considerar cuatro grandes estructuras físicas de base de datos durante una recuperación:  Datafiles  Redo Logs (archivados y en línea)  Control files  Registros de Undo
  • 16. TIPOS DE RESPALDOS La base de datos ofrece varios tipos de respaldos:  Physical and logical backups  Whole and partial backups  Online and offline backups  Full and incremental backups  Consistent and inconsistent backups
  • 17. RESPALDOS FÍSICOS Y LÓGICOS Physical Backups  Se utilizan herramientas de sistema operativo como “cp”  Copia física actual de la base de datos  Respaldo de Datafiles, Controlfiles y Redo Logs Logical Backups  DATAPUMP – exportar e importar (10g,11g,12c)  EXP (versiónes 8i y 9i)  IMP (versiónes 8i y 9i)  Respaldo de Datafiles, Controlfiles y Redo Logs
  • 18. RESPALDO COMPLETOS Y PARCIALES Whole backups  Respaldo completo – Base de Datos  Incluye todos los datafiles + Control files Partial Backups  Respaldo de un Tablespace (Incluye todos sus datafiles)  Respaldo de un solo datafile  Incluye el respaldo de un solo archivo de sistema operativo  Respaldo de Control file, ya sea binario o texto
  • 19. RESPALDO EN línea Y FUERA DE línea Offline backups ó Cold Backups  Backup offline bajando Base de Datos mediante el comando “SHUTDOWN IMMEDIATE o TRANSACTIONAL”  Modalidad Archive Log / No Archive Log  RMAN requiere instancia en modo MOUNT Online backups, Hot Backup ó Warm Backup  Base de Datos abierta  Backup en línea siempre es inconsistente  Requiere Archive Logs RMAN soporta respaldos en línea y fuera de línea
  • 20. RESPALDO FULL E INCREMENTAL Full backups  Contiene un respaldo con todos los datafiles  Demora más tiempo Incremental backups  Contiene solo los bloques de datos que han cambiado en los datafiles.  Demora menos tiempo Solo con RMAN se pueden realizar respaldos incrementales
  • 21. RESPALDO CONSISTENTE/INCONSISTENTE Concepto de SCN (System Change Number)  Es un número asignado por el servidor que indica la versión de cambio de Base de Datos  Todos los datafiles deben estar sincronizados al mismo SCN  Permite la consistencia en un sólo punto en el tiempo  Checkpoint sincroniza datafiles y controlfile con la información del SCN original
  • 22. Consistent backups  Base de Datos en modalidad Noarchivelog  Abrir la base de datos sin la opción “OPEN RESETLOGS”  No requiere recuperación Inconsistent backups  Base de Datos en modalidad Archivelog/Noarchivelog.  Utiliza Archived Redo Logs para tener la data actual y sincronizar el SCN a todos los datafiles RESPALDO CONSISTENTE/INCONSISTENTE
  • 23. TIPOS DE RECUPERACIÓN Instance Recovery Usa la información en los Redo Logs para aplicar los cambios. Usa el contenido del Tablespace Undo para deshacer los cambios no aplicados a los datos Libera los recursos tomados No requiere intervención del DBA
  • 24. TIPOS DE RECUPERACIÓN Crash Recovery (Recuperación automática de Instancia)  No requiere restauración o recuperación. Rolling forward  Actualiza todos los datafiles con información desde los Redo Logs Files.  Los Redo Logs Files son escritos siempre antes que la data sea grabada en los datafiles.
  • 25. TIPOS DE RECUPERACIÓN Rolling back  Cambios no confirmados se deshacen.  Usa el tablespace de Undo para volver al estado original  Solo los datos confirmados cuando falla la instancia son retenidos en los datafiles.  Sintonizar el parámetro fast_start_mttr_target en segundos para manejar el tiempo de recuperación de la instancia.
  • 26. TIPOS DE RECUPERACIÓN Media Recovery Consultar la vista V$RECOVERY_FILE Comandos Básicos (Restore – Recover) Restarura los datafiles desde el backup. Renombrar datafiles (nueva ubicación) Recuperar los datafiles (Aplicando Redo)
  • 27. TIPOS DE RECUPERACIÓN Para abrir una base de datos, luego de la restauración y recuperación se deben cumplir las siguientes condiciones: Debemos tener todas las copias de control file sinconizada Debemos sincronizar todos los datafiles en línea Debemos tener al menos un miembro de cada grupo de redo log Si todo esto se cumple, la base de datos se abre de forma consistente
  • 28. TIPOS DE RECUPERACIÓN Complete and Point-in-Time Recovery (Recuperación incompleta) Segura no tener perdidas de transacciones Usa backups incrementales + Archivelogs Recupera una base datos a un punto en el tiempo (completa o parte de ella) Tecnología Flashback (DBPITR) Recuperación de punto en el tiempo de Tablespace
  • 30. EMULANDO UNA SUPER DLT A DISCO API – oracle.disksbt Crear un directorio (mkdir /oracle/tape_backup) Realizar llamada y pasar los parámetros de emulación run { allocate channel DR1 device type 'SBT_TAPE' PARMS="SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DI R=/oracle/type_backup)" ; } Oracle provee el API llamado oracle.disksbt, la cual es utilizada para emular un dispositivo SBT a disco
  • 31. EJERCICIO DESPLEGANDO INFORMACIÓN DE CONFIGURACIÓN Problemática: Se requiere desplegar la configuración del ambiente RMAN. Solución: SHOW ALL - V$RMAN_CONFIGURATION
  • 32. EJERCICIO VOLVER A LA CONFIGURACIÓN ORIGINAL DE PARÁMETROS Problemática: Se requiere configurar RMAN según los requerimientos de las políticas de respaldo y recuperación. Solución: Cambiar la configuración persistente, usando el comando CONFIGURE
  • 33. EJERCICIO CONFIGURANDO RMAN Problemática: Se requiere restaurar a los valores iniciales ciertos parámetros de configuración. Solución: Cambiar la configuración persistente, usando el comando CONFIGURE …. CLEAR
  • 34. EJERCICIO HABILITAR O DESHABILITAR BACKUP AUTOMÁTICO DE CONTROL FILE Problemática: Se requiere configurar RMAN para que automáticamente haga respaldos de Control File y SPFILE. Solución: Habilitar o deshabilitar backups automáticos con los siguientes comandos:
  • 35. EJERCICIO ESPECIFICAR EL DIRECTORIO DE AUTOBACKUP Y NOMBRE DE ARCHIVO PARA CONTROL FILE Problemática: Se requiere configurar RMAN para escribir el backup de controlfile a un directorio determinado. Solución: Usar el comando CONFIGURE para definir el directorio y ubicación del autobackup de Control File. Ubicación en ASM Diskgroup:
  • 36. EJERCICIO ESPECIFICAR EL NOMBRE DE ARCHIVO Y UBICACIÓN PARA EL SNAPSHOT DE CONTROL FILE Problemática: Se requiere configurar RMAN un snapshot especial de Control File y almacenar en un directorio específico. Solución: Usar el comando CONFIGURE SNAPHOT CONTROLFILE TO Para desplegar el nombre y ubicación actual:
  • 37. EJERCICIO ESPECIFICAR PERÍODO DE RETECION PARA HISTÓRICOS Problemática: Se está usando un solo control file y no existe catálogo de recuperación. Además, es necesario el aumento del período de retención de los backups. Solución: El parámetro CONTROL_FILE_RECORD_KEEP_TIME controla el tiempo de retención en días. V$CONTROLFILE_RECORD_SECTION
  • 38. EJERCICIO CONFIGURANDO TIPOS DE DISPOSITIVOS Problemática: Se requiere cambiar el dispositivo predeterminado desde disco a cinta ó viceversa. Solución: Todos los canales automáticos tienen predeterminado el dispositivo de tipo disco. Usar el comando CONFIGURE para cambiar la configuración actual.
  • 39. CONFIGURANDO TIPOS DE DISPOSITIVOS Asiginación de canal a un dispositivo de tipo cinta (sbt)
  • 40. EJERCICIO CONFIGURANDO TIPOS DE DISPOSITIVOS Asiginación de canal a un dispositivo de tipo disco
  • 41. EJERCICIO CONFIGURANDO TIPOS DE DISPOSITIVOS Problemática: Se requiere cambiar el dispositivo predeterminado de respaldo a una copia de imagen Solución: El dispositivo predeterminado para respaldos puede ser disco o cinta. Mediante el comando CONFIGURE podemos cambiar la configuración
  • 42. EJERCICIO REALIZAR BACKUP SETS COMPRIDOS Problemática: Se requiere realizar backups comprimidos utilizando RMAN para ahorrar espacio y tráfico en la red. Solución: Configurar RMAN para hacer respaldos comprimidos en disco o cinta mediante la cláusula COMPRESSED BACKUPSET Respaldo comprimido a disco Respaldo comprimido a cinta
  • 43. EJERCICIO REALIZAR BACKUP SETS COMPRIDOS V$RMAN_COMPRESSION_ALGORITHM Algoritmos de compresión disponibles (ZLIB y BZIP2)
  • 44. EJERCICIO CONFIGURAR VARIAS COPIAS DE SEGURIDAD Problemática: Se requiere un respaldo como backup set y que RMAN cree varias copias de este backup set. No se requiere una configuración persistente Solución: Utilizar la característica llamada DUPLEXING para que RMAN cree varias copias de Backup Pieces que componen el Backup Set. Muestra configuración de copias Duplexing se encuentra limitado solo a respaldos realizados como Backup Sets
  • 45. EJERCICIO ESPECIFICAR NOMBRE PARA UN BACKUP PIECE Problemática: Se requiere especificar un nombre para Backup Pieces generados mediante RMAN Solución: Proporcionar variables de sustitución para la generación de nombres únicos para las copias de imagen ó Backup Pieces. Se debe incorporar un formato dentro del comando para generar un nombre único. Duplexing se encuentra limitado solo a respaldos realizados como Backup Sets
  • 46. EJERCICIO GENERANDO NOMBRES PARA COPIA DE IMÁGENES Problemática: Se requiere establecer nombres significativos para las copias de imagen en lugar que RMAN genere sus propios nombres Solución: Podemos utilizar parámetros de formato y así generar nombres únicos para imágenes de copia.
  • 47. EJERCICIO GENERANDO NOMBRES PARA COPIA DE IMÁGENES Parámetro DB_FILE_NAME_CONVERT Directamente puede hacer backups de tablespaces a una ubicación diferente
  • 48. EJERCICIO CONFIGURANDO CANALES AUTOMATICOS Problemática: Configurar canales para ser usados por cualquier dispositivo de tipo disco o cinta. Solución: Use el comando CONFIGURE para asignar automáticamente canales de forma persistente para todas las sesiones. Respaldar a un media manager pero utilizando tres unidades de cinta en paralelo.
  • 49. EJERCICIO CONFIGURANDO CANALES MANUALMENTE Problemática: Se requiere configurar canales manualmente para un respaldo dentro en un bloque “RUN” Solución: Manualmente especificar los canales dentro del bloque “RUN” pero usando el comando “ALLOCATE CHANNEL”. Asignación manual de varios canales corriendo sobre varios drives.
  • 50. EJERCICIO CONFIGURANDO UN CANAL DE MANTENIMIENTO Problemática: Se requiere configurar un canal para tareas de mantenimiento como por ejemplo eliminación de respaldos obsoletos. Solución: Manualmente especificar el canal de mantenimiento usando el comando “ALLOCATE CHANNEL FOR MAINTENANCE”
  • 51. EJERCICIO LIMITANDO EN TAMAÑO INDIVIDUAL DE UN BACKUP PIECE Problemática: Se requiere limitar el tamaño de cada pieza de respaldo producida por RMAN. Solución: Usar el parámetro MAXSETSIZE en cualquiera de los comandos CONFIGURE o BACKUP para configurar el máximo tamaño de los backup sets creados en dispositivos de tipo cinta o disco.
  • 52. EJERCICIO CONFIGURANDO EL TAMAÑO MAXIMO DE BACKUP SETS Problemática: Se requiere limitar el tamaño máximo de un backup set, ya que el sistema operativo soporta archivos de cierto tamaño. Solución: Usar el parámetro MAXSETSIZE en cualquiera de los comandos CONFIGURE o BACKUP para configurar el máximo tamaño de los backup sets creados en dispositivos de tipo cinta o disco. Configuración a nivel de ambiente RMAN Configuración directa en el comando backup
  • 54. CATÁLOGO DE RECUPERACIÓN Esquema de Base de Datos opciónal con tablas y vistas Creado como un almacenamiento secundario del repositorio Provee una gran capacidad de almacenamiento histórico para muchas bases de datos Podemos crear y almacenar script RMAN en el catálogo de recuperación
  • 55. CATÁLOGO DE RECUPERACIÓN (CONTENIDO) Valores de configuración de RMAN Almacenamientos de scripts creados y utilizados por RMAN Información de tablespaces y datafiles correspondientes a bases de datos registradas Información perteneciente a datafiles, backup sets y backup pieces de archived redo logs, como datafile y copias de archived redo logs. Restringe acceso creando el virtual private recovery catalog
  • 56. EJERCICIO CREANDO EL CATÁLOGO DE RECUPERACIÓN Problemática: Se planea crear un catálogo de recuperación en una base de datos externa. Solución: Preparación de ambiente Crear el dueño del catálogo o esquema Crear el catálogo de recuperación
  • 57. EJERCICIO CREANDO EL CATÁLOGO DE RECUPERACIÓN Problemática: Se planea crean un catálogo de recuperación en una base de datos externa. Solución: Preparación de ambiente Crear el dueño del Catálogo o esquema Crear el Catálogo de recuperación
  • 58. Preparación de ambiente para estructuras del catálogo Conectarse a la base de datos con el usuario SYS Crear el tablespace TTBS para almancenar las estructructuras del catálogo EJERCICIO CREANDO EL CATÁLOGO DE RECUPERACIÓN
  • 59. Preparación de ambiente para estructuras del catálogo Creación de usuario dueño del catálogo de recuperación EJERCICIO CREANDO EL CATÁLOGO DE RECUPERACIÓN Otorgar el privilegio RECOVERY_CATALOG_OWNER al usuario rman
  • 60. Creando el catálogo de recuperación Conectarse a la base de datos catalog llamada catdb con el usuario rman Utilice el comando “CREATE CATALOG” para crear el catálogo de recuperación EJERCICIO CREANDO EL CATÁLOGO DE RECUPERACIÓN
  • 61. EJERCICIO CONECTARSE AL CATÁLOGO DE RECUPERACIÓN Problemática: Se requiere conectar al catálogo de recuperación y a la base de datos target directamente desde la línea de comando. Solución: Conectarse desde la línea de comando utilizando autentificación de sistema operativo para la conexión a la base de datos target y la autentificación de Oracle Net Conectar mediante SQL*Net desde un Cliente Oracle
  • 62. EJERCICIO REGISTRAR UNA BASE DE DATOS TARGET Problemática: Se requiere usar un catálogo de recuperación para manejar el repositorio de datos para una nueva base de datos. Solución: Para usar el catálogo de recuperación es necesario registrar la nueva base de datos (catalogar)  Conectarse a la base de datos catalog y a la base de datos target que se requiere registrar  En el caso que la base de datos no este montada, se debe llevar al estado mount
  • 63. EJERCICIO REGISTRAR UNA BASE DE DATOS TARGET  Usar el comando REGISTER DATABASE para registar la base de datos target a la que esta actualmente conectado
  • 64. EJERCICIO REGISTRAR UNA BASE DE DATOS TARGET  Revisar que la base de datos target fue registrada exitosamente, usando el comando LIST INCARNATION
  • 65. EJERCICIO ANULAR EL REGISTRO UNA BASE DE DATOS TARGET Problemática: Se requiere remover una base de datos target desde el catálogo de recuperación Solución: Remover el registro de la base de datos target ejecutando el comando UNREGISTER DATABASE  Conectarse a la base de datos catalog y a la base de datos target que se requiere registrar
  • 66. EJERCICIO ANULAR EL REGISTRO UNA BASE DE DATOS TARGET  Anular el registro de la base de datos target con el comando UNREGISTER DATABASE  Anular una base de datos no existente
  • 67. EJERCICIO ANULAR EL REGISTRO UNA BASE DE DATOS TARGET  Anular el registro de la base de datos target cuando existen varias bases de datos con el nombre como por ejemplo testdb
  • 68. EJERCICIO CATALOGANDO ARCHIVOS ANTIGUOS Problemática: Existen imágenes de copia, piezas de respaldos y algún archived redo log file. Estos archivos fueron generados antes de la creación del catálogo de recuperación. Se requiere registrar estos respaldos en el catálogo de RMAN Solución: Registrar los respaldos con el comando CATALOG  CATALOG DATAFILECOPY  CATALOG CONTROLFILECOPY  CATALOG BACKUPPIECE  CATALOG ARCHIVELOG
  • 69. EJERCICIO CATALOGANDO ARCHIVOS ANTIGUOS  CATALOG DATAFILECOPY  CATALOG BACKUPPIECE  CATALOG ARCHVIELOG
  • 70. EJERCICIO CATALOGANDO ARCHIVOS ANTIGUOS  Catalogar un conjunto de archivos  Catalogar automáticamente un conjunto de archivos  Catalogar Flash Recovery Area
  • 71. EJERCICIO ACTUALIZANDO EL CATÁLOGO DE RECUPERACIÓN Problemática: El Catálogo de recuperación en cierta ocación no se encuentra disponible y esta desactualizado. Se requiere tener los registros de respaldos actuales. Solución: Usar el comando “RESYNC CATALOG” para actualizar la metadata del catálogo
  • 72. EJERCICIO CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD Problemática: Existe una gran cantidad de bases de datos registradas en un solo catálogo de recuperación. Se requiere que la información de respaldos este siempre disponible. Solución: Configurar un Standby Recovery Catalog.
  • 73. EJERCICIO CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD Estrategia para mantener el Standby Recovery Catalog  Crear un catálogo de recuperación secundario en una base de datos Oracle separada  Registrar todas las Bases de Datos en el nuevo repositorio  El catálogo primario siempre es sincronizado automáticamente durante el proceso de backup
  • 74. EJERCICIO CATÁLOGO DE RECUPERACIÓN EN ALTA DISPONIBILIDAD Estrategia para mantener el Standby Recovery Catalog  Sincronizar el catálogo de recuperación secundario manualmente con el comando “RESYNC CATALOG”  Cambiarse al catálogo de recuperación secundario implica sólo realizar la conexión después de sincronización.
  • 76. RMAN sólo puede respaldar los siguientes archivos  DATAFILES  CONTROLFILES  ARCHIVED REDO LOGS  IMAGE COPIES (DATAFILES y CONTROLFILES)  BACKUP PIECES  SPFILE ¿QUE PUEDE RESPALDAR RMAN?
  • 77. RMAN no respalda  ARCHIVOS EXTERNOS  ARCHIVOS DE CONFIGURACIÓN DE RED  ARCHIVO DE PASSWORD  ARCHIVOS RELACIONADOS CON ORACLE HOME  BACKUP PIECES  SPFILE ¿QUE PUEDE RESPALDAR RMAN?
  • 78. Especificación de Canales Especificando un dispositivo de salida Especificando una copia de imagen o un backup set ESPECIFICANDO OPCIONES DE RESPALDO
  • 79. ESPECIFICANDO UN FORMATO PARA RESPALDOS  Especificar la cláusula de formato en el comando de respaldo para generar el nombre del archivo.  Ajuste el formato para un canal específico.  Ajuste el formato para un dispositivo específico.  Si esta habilitado Flash Recovery Area, RMAN puede generar un nombre automáticamente para el respaldo, si el formato no es definido.
  • 80. Nombre único generado para el archivo de respaldo Grupo de discos ASM como destinos para respaldos ESPECIFICANDO OPCIONES DE RESPALDO
  • 81. Parámetro tag puede ser especificado en el comando de respaldo TAGS PARA SALIDA DE RESPALDOS
  • 82. EJERCICIO RESPALDANDO EL CONTROLFILE Problemática: Se requiere hacer un respaldo de CONTROLFILE para siempre reflejar la estructura actual de la base de datos. Solución: Utilizar el comando CONFIGURE para habilitar el respaldo automático del CONTROLFILE Utilizar el comando backup current controlfile manualmente
  • 83. EJERCICIO RESPALDANDO EL CONTROLFILE Respaldar el controlfile cuando se realiza una operación de respaldo de un tablespace Desde RMAN, podemos invocar un comando de SQL*Plus para realizar el respaldo del CONTROL FILE
  • 84. EJERCICIO RESPALDANDO EL SERVER PARAMETER FILE (SPFILE) Problemática: Se requiere hacer un respaldo del SPFILE usando RMAN. Solución: Utilizar el comando BACKUP SPFILE
  • 85. EJERCICIO RESPALDANDO DATAFILES Problemática: Existe una base de datos con cientos de datafiles, y no se tienen los recursos de almacenamiento para realizar respaldos diarios. Se requiere implementar una estrategia para hacer un respaldo de un subconjunto de la base de datos pero copiando un número determinado de datafiles cada día. Solución: Realizar respaldos individuales de los datafiles, especificando su número y una opción de formato mediante el comando BACKUP DATAFILE
  • 86. EJERCICIO RESPALDANDO DATAFILES Especificar el nombre de archivo y el formato a nivel del canal, luego realizar respaldo de ambos datafiles Respaldo incremental de un datafile Generar un respaldo como una copia de imagen con formato
  • 87. EJERCICIO RESPALDANDO TABLESPACES Problemática: Se requiere hacer un respaldo de uno ó más tablespaces por una tarea programada. Solución: Utilizar el comando BACKUP TABLESPACE para respaldar uno ó más tablespaces Respaldar el tablespace SYSTEM con formato
  • 88. EJERCICIO RESPALDANDO TABLESPACES Utilizar el comando BACKUPAS COPY TABLESPACE para generar una copia de imagen Respaldo incremental de un tablespace
  • 89. EJERCICIO HACIENDO UN RESPALDO COMPLETO DE LA BASE DE DATOS Problemática: Se requiere hacer un respaldo completo de una base de datos Solución: Utilizar el comando BACKUP DATABASE para respaldar completamente la base datos Respaldar la base de datos y el archive redo log actual
  • 90. EJERCICIO RESPALDO ARCHIVED REDO LOG Problemática: Se requiere hacer un respaldo de archived redo logs Solución: Utilizar el comando BACKUP ARCHIVELOG para respaldar cada número de secuencia de archived redo log. Respaldar un archive redo log por cada número único de secuencia de log
  • 91. EJERCICIO RESPALDO ARCHIVED REDO LOG Limitando el alcance del respaldo Respaldo de una secuencia específica mediante la cláusula SECUENCE Respaldo y eliminación de secuencias mediante la cláusula DELETE INPUT
  • 92. EJERCICIO RESPALDO COMPLETO DE LA BASE DE DATOS Problemática: Se requiere hacer un respaldo completo de una base de datos; por ejemplo todos los datafiles, archived redo logs y control file. Solución: Asegurar que el control file se respalde automáticamente cuando sea parte del respaldo de la base datos. 1. 2. 3.
  • 93. EJERCICIO RESPALDO COMPLETO DE LA BASE DE DATOS Listar registros de respaldos con LIST BACKUP BY FILE
  • 94. EJERCICIO RESPALDO COMPLETO DE LA BASE DE DATOS Problemática: Se requiere hacer un respaldo completo de todos los archivos de recuperación localizados en el Flash Recovery Area Solución: Utilizar el comando BACKUP RECOVERY AREA para llevar a cinta todos los archivos. Respalda todos los archivos de recuperación en otra ubicación
  • 95.  Es un respaldo incremental de todos los bloques posteriormente a un respaldo de nivel 0 o nivel 1. Busca primero el respaldo de nivel 1 y en su ausencia busca el respaldo de nivel 0. Respalda todos los cambios desde el respaldo de nivel 0. RESPALDO DIFERENCIAL INCREMENTAL
  • 96.  Un respaldo diferencial incremental de nivel 1 respalda bloques de datos modificados más recientemente desde el nivel 0, si no existe un respaldo de nivel 0, entonces utiliza un respaldo de nivel 1. Un respaldo incremental de nivel 1 respalda sólo los bloques cambiados, este tiende a hacer más rápido que el nivel 0 en la mayoría de los casos. Se puede respaldar un BACKUP SET sólo al realizar un respaldo incremental de nivel 1. RESPALDO DIFERENCIAL INCREMENTAL
  • 97.  Es un respaldo incremental de todos los bloques posteriormente a un respaldo de nivel 0. Diseñado para hacer más cortos y rápidos los respaldos de los datafiles solo respalda bloques de datos que han cambiado y no todos los bloques de datos del datafile. RESPALDO INCREMENTAL ACUMULATIVO
  • 98. Respaldos diferencial acumulativos Utiliza más espacio de almacenamiento Se recupera rápidamente Respaldos diferencial incremental Menos espacio de almacenamiento Se requiere más tiempo de recuperación RESPALDO INCREMENTAL ACUMULATIVO
  • 99. EJERCICIO REDUCCIÓN DE TIEMPO EN RESPALDOS INCREMENTALES Problemática: Reducir el tiempo empleado en realizar respaldos incrementales Solución: Implementar la característica llamada BLOCK CHANGE TRACKING para reducir el tiempo empleado en realizar un respaldo incremental.
  • 100. EJERCICIO REDUCCIÓN DE TIEMPO EN RESPALDOS INCREMENTALES Configurar característica BLOCK CHANGE TRACKING Configurar el parámetro DB_CREATE_FILE_DEST Habilitar la característica BLOCK CHANGE TRACKING Crear el archivo de blocking change
  • 101. EJERCICIO EXCLUYENDO UN TABLESPACES DESDE UN RESPALDO Problemática: Existe un tablespace que su contenido no cambia en el tiempo y contiene datos temporales por lo tanto requiere ser excluido desde el respaldo completo de la base de datos. Solución: utilice el comando CONFIGURE EXCLUDE FOR TABLESPACE para excluir el tablespace.
  • 102. EJERCICIO OMITIR ARCHIVOS READ-ONLY, OFFLINE O INACCESIBLES Problemática: Se requiere que RMAN omita el respaldo de archivos read- only, offline o datafiles inaccesibles y archived redo logs. Solución: utilizar la opción SKIP en el comando BACKUP.
  • 103. EJERCICIO CREANDO UN RESPALDO COMPRIMIDO Problemática: Por problemas de espacio, es necesario crear un respaldo comprimido con RMAN. Solución: utilizar el comando BACKUP con la opción “AS COMPRESSED BACKUPSET”.
  • 104. CASO DE PRUEBAS – RESPALDOS COMPRIMIDOS CON RMAN Base de datos con un tamaño de 1.5 GB y se estima una proporción de compresión de un 4.7%. Compression Level ‘HIGH’ Backupset size: 226.18M time: 00:02:21 Compression Level ‘Medium’ Backupset size: 293.80M time: 00:00:30 Compression Level ‘Low’ Backupset size: 352.59M time: 00:00:20 Compression Level ‘Basic’ Backupset size: 276.55M time: 00:00:50
  • 105. EJERCICIO PARALELISMO DE RESPALDOS Problemática: Se requiere crear respaldos de la base de datos en el menor tiempo posible. Solución: Utilizar paralelismo en los respaldos de base de datos configurando el parámetro CHANNEL. Respaldo utilizando paralelismo de grado dos con especificando dos canales
  • 106. EJERCICIO PARALELISMO DE RESPALDOS Respaldo de varios discos con paralelismo de nivel cuatro. Configurar grado de paralelismo de forma persistente.
  • 107. EJERCICIO HACER RESPALDOS MAS RÁPIDOS DE ARCHIVOS DE GRAN TAMAÑO Problemática: Se requiere realizar respaldos más rápidos para archivos de gran tamaño. Solución: Respaldar rápidamente un gran datafile pero dividiendo el trabajo del respaldo entre múltiples canales. “Multisection” incorpora al respaldo de una sección del datafile en múltiples canales para incrementar el rendimiento del proceso de respaldo.
  • 108. EJERCICIO HACER RESPALDOS MÁS RÁPIDOS DE ARCHIVOS DE GRAN TAMAÑO (PROCEDIMIENTO)  Conectarse a la base de datos target  Configurar paralelismo en canales  Ejecutar respaldo con la opción SECTION SIZE (TBS 600M)
  • 109. EJERCICIO RETENCION DE RESPALDOS POR LARGO TIEMPO Problemática: Se requiere mantener ciertos respaldos más allá de la política de retención definida para la base de datos. Solución: Utilice el estamento KEEP en el comando BACKUP para retener respaldos más allá de la política de respaldos definida.
  • 111. EJERCICIO RESTAURAR CONTROL FILE DESDE FLASH RECOVERY AREA Problemática: Se habilita el Flash Recovery Area y se usa como repositorio para respaldos de control file. Solución: Al usar el Flash Recovery Area, se generan dos métodos para recuperar el control file.  Usar Autobackup de Control File  No usar Autobackup de Control File
  • 112. EJERCICIO RESTAURAR CONTROL FILE DESDE FLASH RECOVERY AREA Restaurar Control File desde el Autobackup Restaurar Control File sin Autobackup
  • 113. Derivando el DBID desde un archivo de autobackup Incluir el formato de variable %F = Descripción de la variable %F EJERCICIO DATABASE IDENTIFIER (DBID) c = Significa que es un respaldo de Control File IIIIIIIIII = 10 caracteres que representan el DBID YYYYMMDD = Fecha de creación del respaldo QQ = Secuencia Hexadecimal incremental
  • 114. EJERCICIO RESTAURAR CONTROL FILE USANDO CATÁLOGO Problemática: Se requiere restaurar el Control File y utilizar el catálogo de recuperación. Solución: Para restaurar el control file se debe conectar a la base de datos target y a la base de datos del catálogo. Utilice el comando RESTORE CONTROLFILE.
  • 115. EJERCICIO DATABASE IDENTIFIER (DBID) Problemática: Se intenta recuperar el control file y se presenta el siguiente error: Solución: Se debe explícitamente hacer referencia a la propiedad Database Identified (DBID). ¿Cómo puedo obtener el DBID de la base de datos?  Podemos derivar el DBID desde un archivo de autobackup  Podemos obtener el DBID desde la salida de RMAN  Podemos escribir el DBID al archivo de alertas  Podemos derivar el DBID desde un archivo de volcado
  • 116. Obteniendo el DBID desde la salida de RMAN La salida de una sesión de RMAN puede contener el DBID, la cual es desplegada al momento de conectarse. Escribiendo el DBID al archivo de alertas  Package (DBMS_SYSTEM.KSDWRT) EJERCICIO DATABASE IDENTIFIER (DBID)
  • 117. Derivando el DBID desde un archivo de volcado Utilizar el comando SQL “ALTER SYSTEM DUMP” para escribir el DBID a un archivo de trace. Volcado de un archived redo log o un redo log en línea Contenido de archivo de trace EJERCICIO DATABASE IDENTIFIER (DBID)
  • 118. EJERCICIO RESTAURAR CONTROL FILE SIN FLASH RECOVERY AREA O CATÁLOGO DE RECUPERACIÓN Problemática: Se requiere recuperar el control file y no se dispone de Flash Recovery Area o catálogo de recuperación Solución: Se requiere determinar el lugar donde se almacena el respaldo de control file.
  • 119. EJERCICIO RESTAURAR CONTROL FILE SIN FLASH RECOVERY AREA O CATÁLOGO DE RECUPERACIÓN Usar Autobackup, con una pieza de respaldo y ubicación estándar Caso 1 Caso 2 Caso 3
  • 120. EJERCICIO RESTAURAR CONTROL FILE SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN Usar Autobackup, con una pieza de respaldo sin una ubicación estándar Caso 1 Caso 2
  • 121. EJERCICIO RESTAURAR CONTROL FILE SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN Sin Autobackup, con una pieza de respaldo y ubicación estándar Caso 1 Caso 2
  • 122. EJERCICIO RESTAURAR CONTROL FILE SIN FLASH RECOVERY AREA Ó CATÁLOGO DE RECUPERACIÓN Sin Autobackup, con una pieza de respaldo sin una ubicación estándar Caso 1 Caso 2
  • 123. EJERCICIO RESTAURAR CONTROL FILE DESDE OTRA UBICACIÓN Problemática: Se requiere restaurar el Control File a otra ubicación Solución: Usar el comando “RESTORE CONTROLFILE TO” Usando autobackup Usando Catálogo de recuperación Usando manualmente una pieza de respaldo
  • 124. EJERCICIO RESTAURANDO UNA COPIA MÚLTIPLE DE CONTROL FILE Problemática: Al iniciar la base de datos se presenta el siguiente error: Solución: Para varias copias de control file, es necesario recuperar una copia en buenas condiciones y sobrescribir el control file con problemas. Se puede modificar el archivo de parámetros que hace referencia sólo al archivo restante y que se encuentra en buenas condiciones. Puedes copiar un control file sin problemás físicos a la ubicación del control file con problemas ó que ha sido perdido.
  • 125. EJERCICIO RESTAURAR CONTROL FILE DESDE OTRA UBICACIÓN Modificar el archivo de parámetros Copiar un control file sin problemas
  • 126. EJERCICIO RECREANDO EL CONTROL FILE Problemática: Usted ha experimentado una falla y perdío todos los control files. Tampoco existen respaldos disponibles. Se requiere cambiar la configuración de la base de datos y solamente puede ser recreado el control file. Se requiere mover un gran número de datafiles, y usted prefiere recrear el control file con nuevos nombres y ubicación. Solución: Recrear el Control File con el comando
  • 128. EJERCICIO VERIFICANDO LA INTEGRIDAD DE RESPALDOS Problemática: Se requiere restarurar y recuperar una base de datos; pero es necesario verificar los respaldos actuales. Solución: Usar el comando RESTORE …. VALIDATE o VALIDATE para verificar la disponiblidad y la integridad de respaldos. Al agregar la cláusula CHECK LOGICAL se activa el chequeo de corrupción lógica.
  • 129. EJERCICIO VERIFICANDO LA INTEGRIDAD DE RESPALDOS Chequeo para corrupción lógica Determinar el BS Key (Backup Set Key) Usando el comando VALIDATE BACKUP Chequeo de Corrupción lógica
  • 130. EJERCICIO PRUEBAS DE RECUPERACIÓN DE MEDIOS Problemática: Se requiere realizar una recuperación de la base de datos; pero se sospecha que uno de los archived redo log files esta malo. Es necesario hacer una prueba para ver cual redo se encuentra disponible para ser aplicado. Solución: Ejecutar el comando RECOVER …. TEST. Prueba de recuperación a nivel de tablespace y datafile
  • 131. EJERCICIO RECUPERACIÓN A NIVEL DE BASE DE DATOS Problemática: Usted a perdido todos los datafiles; pero todavía existen todos los redo log files en línea. Se requiere hacer una recuperación completa. Solución: La recuperación completa a nivel de la base de datos en esta situación se puede ocupar el control file actual o un respaldo del control file.
  • 132. Utilizando el control file actual Utilizando el control file desde un respaldo EJERCICIO RECUPERACIÓN A NIVEL DE BASE DE DATOS
  • 133. EJERCICIO RECUPERACIÓN A NIVEL DE TABLESPACE Problemática: Usted esta viendo un error de medios asociado con varios datafiles contenidos en un tablespace. Se requiere hacer una recuperación completa de todos los datafiles asociados con el tablespace que tiene problemas. Solución: Use comandos RESTORE TABLESPACE y RECOVER TABLESPACE para restaurar y recuperar todos los datafiles asociados con el tablespace.
  • 134. Recuperar mientras la base de datos no esta abierta Recuperar mientras la base de datos esta abierta EJERCICIO RECUPERACIÓN A NIVEL DE TABLESPACE
  • 135. EJERCICIO RECUPERACIÓN A NIVEL DE DATAFILE Problemática: Un datafile presenta un error de medios. No se quiere restaurar y recuperar completamente la base de datos y todos los datafiles asociados al tablespace. Solución: Use comandos RESTORE DATAFILE y RECOVER DATAFILE para restaurar y recuperar uno o más datafiles.
  • 136. Recuperar mientras la base de datos no esta abierta Recuperar mientras la base de datos esta abierta EJERCICIO RECUPERACIÓN A NIVEL DE DATAFILE
  • 137. Problemática: Se presenta un error de medios y no es posible restaurar datafiles a sus ubicaciones originales. Solución: Usar los comandos SET NEWNAME y SWITCH para restaurar los datafiles a otra ubicación. EJERCICIO RESTAURANDO DATAFILES A OTRAS UBICACIONES
  • 138. Cambiar de ubicación los datafiles 4 y 5 EJERCICIO RECUPERACIÓN A NIVEL DE DATAFILE
  • 139. Cambiar de ubicación los datafiles 4 y 5 con la base de datos en estado OPEN. EJERCICIO RECUPERACIÓN A NIVEL DE DATAFILE
  • 140. EJERCICIO RECUPERACIÓN A NIVEL DE BLOQUES Problemática: En el archivo de alertas de la base de datos, se presenta un error de corrupción de bloques en un datafile de gran tamaño. Solución: Usar el comando RECOVER DATAFILE …BLOCK para recuperar bloques de forma individual.
  • 141. EJERCICIO RECUPERACIÓN A NIVEL DE BLOQUES Detectando bloques de datos corruptos: Archivo de Alertas de alertas V$DATABASE_BLOCK_CORRUPTION Recupera todos los bloques listados como corruptos Otra forma de recuperar bloques corruptos
  • 142. EJERCICIO RECUPERACIÓN DE UN TABLESPACE READ-ONLY Problemática: Se ejecuta el comando RESTORE DATABASE y se observa que existen datafiles asociados a un tablespace read-only; por lo tanto no se puede restaurar. Solución: Use el comando CHECK READONLY para restaurar datafiles asociados a tablespaces read-only.
  • 143. Usando comando CHECK READONLY Restaurando dos tablespaces read-only, después de restaurar completamente la base de datos EJERCICIO RECUPERACIÓN DE UN TABLESPACE READ-ONLY
  • 144. EJERCICIO RESTAURANDO TABLESPACES TEMPORALES Problemática: RMAN no obtuvo una copia del tablespace temporal y requiere que sea parte de la estrategia del respaldo. Solución: No es necesario restaurar o recrear el tablespace temporal. Cuando Oracle detecta que no se encuentra disponible lo crea automáticamente.
  • 145. EJERCICIO FORZANDO A RMAN PARA RESTAURAR ARCHIVOS Problemática: Se intenta restaurar un datafile dos veces y RMAN entrega el siguiente mensaje: Solución: Usar el comando FORCE para restaurar datafiles y archived redo log files aunque existan en la ubicación.
  • 146. EJERCICIO FORZANDO A RMAN PARA RESTAURAR ARCHIVOS Usar comando FORCE para restaurar un datafile, un archivo con un número específico, un tablespace, una base de datos y un archive log
  • 147. EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO Problemática: Se requiere restaurar un respaldo más antiguo que el ultimo respaldo realizado. Solución: Usar un TAG NAME o el comando RESTORE … UNTIL
  • 148. Especificar un Tag Name (MON_BACK) Restaurar una base de datos desde Tag Name Restaurar datafiles desde un Tag Name especifico EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 149. Use RESTORE … UNTIL (scn, sequence, restore point, time) SCN Seq Restore Point Time Time EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 150. EJERCICIO RECUPERAR A TRAVES DE RESETLOGS Problemática: Recientemente se ha realizado una recuperación incompleta que ha requierido abrir la base de datos con el comando OPEN RESETLOGS. Solución: Desde Oracle 10g, se puede restaurar desde una encarnación previa y recuperar mediante un resetlogs.
  • 151. Restaurando y recuperando el control file y todos los datafiles Aplica los archives 77, 78 y 79 (encarnación anterior) luego 1 y 2 correspondientes a la encarnación actual. EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 152. Mostrando diferentes encarnaciones de Base de Datos EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 153. EJERCICIO RESTAURANDO EL SERVER PARAMETER FILE (SPFILE) Problemática: Se requiere restaurar el SPFILE por alguna de las siguientes razones: Usted eliminó el archivo accidentalmente Usted requiere revisar una versión anterior del archivo actual No es posible iniciar la instancia con el archivo actual Solución: Habilitar el autobackup del control file.
  • 154. Usando el catálogo de recuperación Sin catálogo de recuperación y autobackup con ubicación predeterminada EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 155. Sin catálogo de recuperación y autobackup sin ubicación predeterminada EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 156. EJERCICIO RESTAURANDO ARCHIVED REDO LOG FILES Problemática: RMAN automáticamente restaura cualquier archived redo log file que sea necesario durante el proceso de recuperación. Casi nunca es necesario restaurar manualmente, si cualquiera de las siguientes situaciones se presenta: Restaurar los archived redo log antes de recuperar Restaurar los archived redo log a una nueva ubicación Restaurar un archived redo log para ser analizado vía LogMiner. Solución: Restaurar a una ubicación estándar o a una ubicación no definida.
  • 157. Restaura todos los archived redo log a una ubicación estándar Restaura todos los archived redo log desde la secuencia 50 Restaura todos los archived redo log desde la secuencia 5170 hasta la secuencia 5178 usando el THREAD 1 Restaura el archived redo log desde la secuencia 1, aunque ya se encuentren en disco EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 158. Restaura todos los archived redo log a otra ubicación EJERCICIO RESTAURANDO DESDE UN RESPALDO ANTIGUO
  • 159. EJERCICIO RECOBRANDO DATAFILES SIN RESPALDOS Problemática: Recientemente se agrega un datafile a un tablespace y se presenta una falla antes de realizar el respaldo programado. ¿Cómo podemos recuperar un datafile, si nunca fue respaldado? Solución: Disponer de una buena línea base del respaldo y cualquier redo log generado en el punto de la creación del datafile.
  • 160. Usando el control file actual Se puede apreciar el siguiente mensaje en la salida de comandos de RMAN: Recuperar el tablespace USER_IDX y abrir la base de datos EJERCICIO RECOBRANDO DATAFILES SIN RESPALDOS
  • 161. Restauramos un control file desde un respaldo antiguo Realizar la restauración y recuperación de la base de datos Automáticamente recrea el datafile Abrir la base de datos con la opción OPEN RESETLOGS EJERCICIO RECOBRANDO DATAFILES SIN RESPALDOS
  • 163. EJERCICIO RECUPERACIÓN BASADA EN EL TIEMPO Problemática: Se requiere restaurar la base de datos a una fecha y hora previa. Solución: Especificar el tiempo como parte de los comandos RESTORE y RECOVER Usar el comando UNTIL TIME en un bloque RUN { }
  • 164. Especificar el tiempo de restauración y recuperación La Clausula SET UNTIL TIME dentro de un bloque RUN{ } Se recomienda utilizar la función TO_DATE y especificar el formato de fecha. EJERCICIO RECUPERACIÓN BASADA EN EL TIEMPO
  • 165. EJERCICIO RECUPERACIÓN BASADA EN SECUENCIAS DE LOG Problemática: Se requiere restaurar la base de datos a una cierta secuencia de log. Solución: Especificar UNTIL SEQUENCE como parte de los comandos RESTORE Y RECOVER Usar el comando UNTIL SEQUENCE en un bloque RUN { }
  • 166. Restaura y recupera la base de datos completamente la base de datos pero no incluye el número de secuencia 50 Utiliza el comando UNTIL SEQUENCE en un bloque RUN { } y no incluye el número de secuencia 125 EJERCICIO RECUPERACIÓN BASADA EN SECUENCIAS DE LOG
  • 167. EJERCICIO RECUPERACIÓN BASADA EN CHANGE/SCN Problemática: Se requiere realizar una recuperación incompleta a un SCN particular. Solución: Usar la cláusula UNTIL SCN para restaurar y no incluir el SCN especificado.
  • 168. Restaura todas las transacciones que tienen un SCN menor que 950 Usar SET UNTIL SCN dentro de un bloque RUN{ } EJERCICIO RECUPERACIÓN BASADA EN CHANGE/SCN
  • 169. EJERCICIO RECUPERANDO A UN PUNTO DE RESTAURACIÓN Problemática: Usted requiere restaurar y recobrar a un punto de restauración. Solución: Antes de realizar este tipo de recuperación, se debe definir un punto de restauración con el comando CREATE RESTORE POINT. Además, se puede utilizar la cláusula UNTIL RESTORE POINT.
  • 170. Creando un punto de restauración, mediante SQL*Plus Consultar el SCN asociado al punto de restauración Consultar el nombre del punto de restauración y su SCN EJERCICIO RECUPERANDO A UN PUNTO DE RESTAURACIÓN
  • 171. Restaurando y recuperación a un punto de restauración Usar la cláusula SET UNTIL RESTORE dentro del bloque RUN { } EJERCICIO RECUPERACIÓN BASADA EN CHANGE/SCN
  • 172. EJERCICIO RECOBRAR UNA BASE DE DATOS NOARCHIVELOG Problemática: Usar RMAN para hacer un respaldo de la base de datos en modo noarchivelog. Se requiere usar RMAN para restaurar la base de datos. Solución: Elegir un respaldo de Control File o el Control File actual.
  • 173. Usando un respaldo de control file Usando el control file actual EJERCICIO RECOBRAR UNA BASE DE DATOS NOARCHIVELOG
  • 175. Chequeo físico  Detecta bloques fracturados y bloques con fallas (Checksum)  DB_BLOCK_CHECKSUM=TRUE Chequeo Lógico (BACKUP … CHECK LOGICAL)  Filas de indices (Index Row) fuera de lugar  Piesas de filas perdidas (Row Piece) ¿Por que es importante el chequeo de integridad?  Proactivamente detecta corrupción en la base de datos  Mantiene la salud de la base de datos  Tiene un pequeño costo al momento de ejecutar respaldos diarios CHEQUEO DE INTEGRIDAD PARA BLOQUES
  • 176. BACKUP VALIDATE RESTORE VALIDATE VALIDATE <objeto>  DATABASE  DATAFILE  ARCHIVELOG  RECOVERY AREA CHEQUEO DE INTEGRIDAD PARA BLOQUES
  • 177. Diccionario de Datos (Vistas) V$DATABASE_BLOCK_CORRUPTION  Bloques corruptos Block Media Recovery V$BACKUP_CORRUPTION, V$COPY_CORRUPTION Bloques corruptos en backups (RMAN) CHEQUEO DE INTEGRIDAD PARA BLOQUES
  • 178. Block Media Recovery  BLOCKRECOVER DATAFILE 48 BLOCK 142713;  BLOCKRECOVER corruption list; Reparación automática de Bloques (Automatic Block Repair)  No requiere configuración  En línea y transparente  Requiere tener configurado Active Data Guard REPARACION DE BLOQUES CORRUPTOS
  • 179. Copiar una base de datos a una nueva ubicación  Completamente automático  Generalmente no puede ser utilizado en cruce de plataformas  Excepciones en Oracle support nota: 1079563.1 Facilita tareas de Administración Procesos de Upgrade y testing Crear base de datos Standby Migración Reporting Chequeo de integridad DUPLICACION DE BASE DE DATOS
  • 180. Puede utilizar cualquier copia de seguridad de RMAN Flexibilidad de uso (discos o cinta) Bajar ancho de banda y espacio pero utilizando “COMPRESIÓN” Gana seguridad pero usando “ENCRIPTACIÓN” DUPLICACION BASADA EN RESPALDOS
  • 181. Clonación puede ser creada en cualquier punto en el tiempo Clonación puede ser completa o subset de datos Duplicando a un Sistema (Checheo de Integridad de respaldos) DUPLICACION BASADA EN RESPALDOS
  • 182. Copia directamente desde una base de datos productiva No requiere backups preexistentes No requiere almacenamiento intermedio, incluso para transferencias ASM Copia contiene los datos más actuales ACTIVE DUPLICATE
  • 183. Se puede realizar el proceso de Active Duplicate directamente desde una base de datos standby física, para bajar la carga de clonación con respecto a la Base de Datos Primaria. ACTIVE DUPLICATE
  • 184. Escenario – Copiar tablespace “data2” al nuevo sistema MIGRACIÓN A DIFERENTES PLATAFORMAS
  • 185. Copia base de datos o tablespace a distintas plataformas No es completamente automático como un DUPLICATE Requiere una copia read-only de la data No puede elegir cualquier punto en el tiempo Mismo “endian transport” Transporte de Base de Datos o Tablespace Cross-endian transport Transporte solo para Tablespace MIGRACIÓN A DIFERENTES PLATAFORMAS
  • 186. La diferencia es trivial Cada plataforma lo hace a su manera Plataformas escriben data de izquierda a derecha, algunas de derecha a izquierda Sin embargo, cuando los datos se transfieren desde un sistema “BIG endian” a un sistema “LITTLE endian” o viceversa, la conversión es requerida. ¿QUÉ ES EL FORMATO ENDIAN?
  • 187. ¿Qué número decimal está representado en un bytes de 8-bit? 16 + 4 + 1 = 21  Bit más significativo  Bit menos significativo ¿QUÉ ES EL FORMATO ENDIAN?
  • 188. La representación binaria en 16-bit del número decimal 258  Byte más significativo  Byte menos significativo ¿QUÉ ES EL FORMATO ENDIAN?
  • 189. El Byte menos significativo sera escrito primero a disco  Byte más significativo  Byte menos significativo FORMATO LITTLE-ENDIAN
  • 190. El Byte más significativo es escrito primero a disco  Byte más significativo  Byte menos significativo FORMATO BIG-ENDIAN
  • 191. Plataformas soportadas – V$TRANSPORTABLE PLATFORM BIG-ENDIAN VS LITTLE-ENDIAN
  • 192. Utilizar comando TRANSPORT TABLESPACE. Determinar el Formato ENDIAN de ambas plataformas de Sistema Operativo. Mismo Formato ENDIAN (Direct Transport Tablespace) TRANSPORTANDO TABLESPACES A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
  • 193. 1. Colocar Tablespace a transportar en modalidad Read-Only 2. Utilice el comando CONVERT TABLESPACE TRANSPORTANDO TABLESPACES A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
  • 194. 3. Verificar que dispone de dos datafiles, los cuales forman parte del tablespace MYSPACE en el directorio /tmp/dba TRANSPORTANDO TABLESPACES A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
  • 195. 4. Utilizar Data Pump Export para crear el archivo dump con la metadata correspondiente al tablespace MYSPACE TRANSPORTANDO TABLESPACES A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
  • 196. 5. Mover ambos datafiles convertidos en el paso dos y el archivo dump (myspace.dmp) originado en el paso tres al servidor de destino: 6. Importar la metadata del tablespace transportado en la base de datos destino: TRANSPORTANDO TABLESPACES A DISTINTAS PLATAFORMAS DE SISTEMA OPERATIVO
  • 197. . Restricciones Generales: 1.- Ambas plataformas deben tener el mismo formato ENDIAN 2.- Redo Log Files y Control Files desde el origen no son transportados. 3.- Se abre la base de datos con OPEN RESETLOGS 4.- Tablespace Temporal debe ser recreado 5.- BFILEs, Tablas externas y directorios, archivo de password no son transportados. TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 198. EJERCICIO TRANSPORTANDO TABLESPACES A DIFERENTES PLATAFORMAS DE SISTEMA OPERATIVO Problemática (WINDOWS A LINUX) Se requiere transportar uno ó más tablespaces a otra base de datos que esta corriendo en una plataforma diferente de sistema operativo utilizando Backup realizados con RMAN
  • 199. 1. Verificar que el origen y destino tienen el mismo format ENDIAN TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 200. 2. Para distintos tipos de formato ENDIAN Revisar la nota de Metalink: Nota 243304.1: 10g Transportable Tablespaces Across Different Platforms TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 201. Consideraciones 1. Colocar la base de datos origen en modalidad READ-ONLY antes de ejecutar el PACKAGE DBMS_TDB.CHECK_DB 2. Utilizar PACKAGE de validación DBMS_TDB.CHECK_DB TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 202. 3. La plataforma destino es Linux x86 de 32-bit. TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 203. 4. Ejecutar el package DBMS_TDB.CHECK_EXTERNAL Verificar tablas externas, las cuales no son llevadas automáticamente en el proceso de transporte. TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 204. 5. Colocar la base de datos TARGET en modalidad Read-Only. TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 205. 6. CONVERT DATABASE (script de transporte) TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 206. 7. En la plataforma target 8. Ejecutar el script mydb y conectarse como el usuario SYS: TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 207. Nota : How to Change the DBID, DBNAME Using NID Utility in versión 10gR2 onwards [ID 863800.1] TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 208. Se deben recompilar todos los objetos inválidos mediante el script $ORACLE_HOME/rdbms/admin/utlrp.sql TRANSPORTANDO UNA BASE DE DATOS COMPLETA CROSS-PLATFORM
  • 209. EJERCICIO TRANSPORTAR UNA BASE DE DATOS CON METODOLOGÍA CROSS-PLATFORM Problemática (WINDOWS A LINUX) Se requiere transportar una Base de Datos desde un Sistema Operativo Windows a un Sistema Operativo Linux mediante RMAN.
  • 210. 1. Ejecutar el procedimiento DBMS_TDB.CHECK_DB para revisar la compatibilidad antes de realizar el proceso de conversión. Base de Datos (Origen) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 211. 2. Ejecutar el package DBMS_TDB.CHECK_EXTERNAL Verificar tablas externas, las cuales no son llevadas automáticamente en el proceso de transporte. Base de Datos (Origen) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 212. 3. Colocar la base de datos SOURCE en modalidad Read Only Base de Datos (Origen) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 213. 4. Ejecutar comando CONVERT DATABASE en la Base de Datos origen con la cláusula “ON TARGET PLATFORM” Base de Datos (Origen) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 214. TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 215.  CONVERT DATABASE genera tres archivos para el transporte de la Base de Datos  PFILE en la plataforma TARGET  Script transportscript.sql  Script convertscript.rman TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 216. 5. Copiar todos los Datafiles desde el origen mientras la base de Datos se encuentra en modalidad READ ONLY y moverlos a la plataforma destino. 6. Ejecutar el script convertscript.rman en la base de datos destino. 7. Volver a modalidad READ-WRITE la base de datos origen 8. Ejecutar el comando CONVERT DATAFILE en la plataforma de destino. Base de Datos (Destino) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 217. TIP: Separar cada comando por datafile y especificar la ubicación por cada archivo. Base de Datos (Destino) TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 218. Todos los archivos de la base de datos origen son convertidos al formato de la plataforma destino y están listos para ser usados por la nueva instancia. TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 219. 9. Realizar cambios en el PFILE y el script transportscript.sql producido por el script convert database.  Creando la nueva instancia $ sqlplus /nolog SQL> @transportscript  Script transportscript.sql  Inicia la nueva Instancia  Crea control files  Invoca script utlrp.sql TRANSPORTANDO UNA BASE DE DATOS CONVIRTIENDO DATAFILES EN LA PLATAFORMA TARGET
  • 220. EJERCICIO CONVERTIR DATAFILES EN PLATAFORMA TARGET Problemática (CONVERTIR DATAFILES) Se requiere transportar una Base de Datos y realizar la conversión de los Datafiles en la plataforma destino en vez de utilizar la plataforma origen.
  • 223. COMPARACION FLASH DATA ARCHIVE • Flashback Data Archive • Flashback Database • Beneficio • Principal • Acceso a la data en cualquier punto en el tiempo sin cambiar la data actual • Físicamente mueve completamente la base de datos en el tiempo • Operación • Operación en línea, seguimiento habilitado, mínimo uso de recursos • Operación fuera de línea, requiere preconfiguración y recursos • Granuralidad • Tabla Base de Datos • Acceso • point-in-time • Cualquier número de tablas • Una por Base de Datos
  • 225. ARQUITECTURA - FLASHBACK DATA ARCHIVE
  • 226. PREPARANDO LA BASE DE DATOS Create one or more tablespaces for data archives and grant QUOTA on the tablespaces. Grant the FLASHBACK ARCHIVE ADMINISTER system privilege to create and maintain flashback archives to the archive administrator. Grant the FLASHBACK ARCHIVE object privilege (to enable history tracking for specific tables in the given flashback archives) to the archive user. Grant FLASHBACK and SELECT privileges to query specific objects as necessary.
  • 227. PROCEDIMIENTO DE CONFIGURACIÓN FLASHBACK DATA ARCHIVE Create the flashback data archive. Optionally, specify the default flashback data archive. Enable the flashback data archive. View flashback data archive data
  • 228. USING FLASHBACK DATA ARCHIVE 1. Create the flashback data archive: 2. Enable history tracking for a table in the archive: 3. View the historical data: CREATE FLASHBACK ARCHIVE fla1 TABLESPACE tbs1 QUOTA 10G RETENTION 5 YEAR; ALTER TABLE inventory FLASHBACK ARCHIVE fla1; SELECT product_number, product_name, count FROM inventory AS OF TIMESTAMP TO_TIMESTAMP ('2007-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
  • 229. CONFIGURING A DEFAULT FLASHBACK DATA ARCHIVE 1. Create a default flashback data archive: 2. Enable history tracking for a table: Note: The name of the flashback data archive is not needed because the default one is used. 3. Disable history tracking: CREATE FLASHBACK ARCHIVE DEFAULT fla2 TABLESPACE tbs1 QUOTA 10G RETENTION 2 YEAR; ALTER TABLE stock_data FLASHBACK ARCHIVE; ALTER TABLE stock_data NO FLASHBACK ARCHIVE;
  • 230. FILLING THE FLASHBACK DATA ARCHIVE SPACE  What happens when your flashback data archive gets full? *90% space usage *Raising of errors: *ORA-55623 "Flashback Archive "%s" is blocking and tracking on all tables is suspended“ *ORA-55617 "Flashback Archive "%s" runs out of space and tracking on "%s" is suspended“ *Generating alert log entry *Suspending tracking
  • 231. * MAINTAINING FLASHBACK DATA ARCHIVES Adding space: Changing retention time: Purging data: Dropping a flashback data archive: ALTER FLASHBACK ARCHIVE fla1 ADD TABLESPACE tbs3 QUOTA 5G; ALTER FLASHBACK ARCHIVE fla1 PURGE BEFORE TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' day); ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 2 YEAR; DROP FLASHBACK ARCHIVE fla1;
  • 232. * FLASHBACK DATA ARCHIVE : EJEMPLOS To enforce digital shredding: To access historical data: To recover data: CREATE FLASHBACK ARCHIVE tax7_archive TABLESPACE tbs1 RETENTION 7 YEAR; SELECT symbol, stock_price FROM stock_data AS OF TIMESTAMP TO_TIMESTAMP ('2006-12-31 23:59:00', 'YYYY-MM-DD HH24:MI:SS') INSERT INTO employees SELECT * FROM employees AS OF TIMESTAMP TO_TIMESTAMP('2007-06-12 11: 30:00','YYYY-MM-DD HH24:MI:SS') WHERE name = 'JOE';
  • 233. * FLASHBACK DATA ARCHIVE : DDL RESTRICTIONS  Using any of the following DDL statements on a table enabled for Flashback Data Archive causes an ORA-55610 error: *ALTER TABLE statement that does any of the following: *Performs partition or subpartition operations *Converts a LONG column to a LOB column *Includes an UPGRADE TABLE clause, with or without an INCLUDING DATA clause *DROP TABLE statement *TRUNCATE TABLE statement
  • 234. * SUPPORTING TRANSPARENT SCHEMA EVOLUTION  Additional DDL supported: *DROP, RENAME, and MODIFY column *DROP and TRUNCATE partition *RENAME and TRUNCATE table  Flashback queries work across DDL changes: Output is presented accordingly.  All other DDL not automatically supported
  • 235. * SUPPORTING FULL SCHEMA EVOLUTION  DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA and DBMS_FLASHBACK_ARCHIVE.REASSOCIATE_FBA *Disables Flashback Data Archive on specified tables, allowing more complex DDL (upgrades, split tables) *Enforces schema integrity after association *Base table and history table schemas must be the same. *Requires the FLASHBACK ARCHIVE ADMINISTER privilege
  • 236. * VIEWING FLASHBACK DATA ARCHIVES Viewing the results: View Name Description *_FLASHBACK_ARCHIVE Displays information about flashback data archives *_FLASHBACK_ARCHIVE_TS Displays tablespaces of flashback data archives *_FLASHBACK_ARCHIVE_TABLES Displays information about tables that are enabled for flashback archiving
  • 237. * GUIDELINES AND USAGE TIPS COMMIT or ROLLBACK before querying past data Use of current session settings Obtain SCN with the DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER function. Compute a past time with: (SYSTIMESTAMP - INTERVAL '10' MINUTE) Use System Change Number (SCN) where precision is needed (time stamps have a three-second granularity).
  • 238. * FLASHBACK TRANSACTION BACKOUT Logical recovery option to roll back a specific transaction and all its dependent transactions *Using redo logs and supplemental logging *Creating and executing compensating transactions *You finalize changes with commit or roll back. Faster and easier than laborious manual approach
  • 239. * PREREQUISITES … and database must be in ARCHIVELOG mode
  • 240. * FLASHING BACK A TRANSACTION You can flash back a transaction by using Enterprise Manager or the command line. Enterprise Manager uses the Flashback Transaction Wizard, which calls the DBMS_FLASHBACK.TRANSACTION_BACKOUT procedure with the NOCASCADE option. If the PL/SQL call finishes successfully, it means that the transaction does not have any dependencies and a single transaction is backed out successfully.
  • 241. * USING THE FLASHBACK TRANSACTION WIZARD
  • 242. * USING THE DBMS_FLASHBACK.TRANSACTION_BACKOUT PROCEDURE CREATE TYPE XID_ARRAY AS VARRAY(100) OF RAW(8); CREATE OR REPLACE PROCEDURE TRANSACTION_BACKOUT( numberOfXIDs NUMBER, -- number of transactions passed as input xids XID_ARRAY, -- the list of transaction ids options NUMBER default NOCASCADE, -- back out dependent txn timeHint TIMESTAMP default MINTIME -- time hint on the txn start );
  • 243. * VIEWING A DEPENDENCY REPORT After choosing your backout option, the dependency report is visible in the DBA_FLASHBACK_TXN_STATE and DBA_FLASHBACK_TXN_REPORT views. *Review the dependency report that shows all transactions which were backed out. *Commit the changes to make them permanent. *Roll back to discard the changes.
  • 244. * VIEWING FLASHBACK TRANSACTION METADATA View Name Description *_FLASHBACK_TXN_REPORT Displays related XML information *_FLASHBACK_TXN_STATE Displays the transaction identifiers for backed-out transactions SQL> SELECT * FROM DBA_FLASHBACK_TXN_STATE; COMPENSATING_XID XID BACKOUT_MODE DEPENDENT_XID USER# ---------------- ---------------- ------------ --------------- -------- 0500150069050000 03000000A9050000 4 0 0500150069050000 05001E0063050000 4 03000000A9050000 0
  • 246. EJERCICIO ESTADO DE FLASHBACK EN LA BASE DE DATOS Problemática: Revisar si la base de datos tiene habilitado FLASHBACK. Solución: Consultar la vista V$DATABASE. La columna FLASHBACK_ON posee el estado actual del FLASHBACK.
  • 247. Configurar el parámetro DB_RECOVERY_FILE_DEST Listando la información de los parámetros: DB_RECOVERY_FILE_DEST_SIZE DB_RECOVERY_FILE_DEST EJERCICIO HABILITAR FLASHBACK EN LA BASE DE DATOS
  • 248. Base de datos en modo ARCHIVELOG Bajar y montar instancia Habilitar FLASHBACK Abrir la base de datos EJERCICIO HABILITAR FLASHBACK EN LA BASE DE DATOS
  • 249. Consultar la vista V$FLASHBACK_DATABASE_LOG EJERCICIO ¿HASTA QUE PUNTO EN EL PASADO SE PUEDE IR?
  • 250. EJERCICIO FLASHING BACK DE UNA BASE DE DATOS CON RMAN Problemática: Se requiere realizar flashback de una base de datos en el tiempo mediante RMAN. Solución: Se puede hacer Flashback : A un específico punto en el tiempo con fecha y hora A un número de SCN específico Ultima operación de RESETLOGS Un punto de restauración
  • 251. EJERCICIO FLASHING BACK DE UNA BASE DE DATOS CON RMAN  Operación de Flashback en ambas Direcciones  Flashback Logs
  • 252. Pasos previos para FLASHBACK 1.- Revisar hasta que punto se puede volver en el tiempo para realizar Flashback de la base de datos 2.- Conectarse a RMAN (rman target = / ) 3.- Bajar la base de datos con SHUTDOWN IMMEDIATE 4.- Montar la instancia de base de datos (STARTUP MOUNT) 5.- Realizar FLASHBACK 6.- Abrir la base de dato con OPEN RESETLOGS EJERCICIO FLASHING BACK DE UNA BASE DE DATOS CON RMAN
  • 253. 1.- Conectarse como SYSDBA y obtener el SCN actual 2.- Ejecute los pasos desde el 1 al 4 vistos anteriormente 3.- FLASHBACK al SCN elegido. Para la instancia, volver al SCN 1050951 4.- Abrir la base de datos con OPEN RESETLOGS EJERCICIO FLASHING BACK DE UNA BASE DE DATOS A UN SCN
  • 254. 5.- Para determinar el punto exacto, abrir la base de datos en modalidad OPEN READ ONLY 7.- Nuevamente puede ir más atrás en el tiempo, nuevamente realizando un FLASHBACK a un SCN anterior 8.- Para determinar el punto exacto, nuevamente abrir la base de datos en modalidad OPEN READ ONLY ó OPEN RESETLOGS. EJERCICIO FLASHING BACK DE UNA BASE DE DATOS A UN SCN ESPECÍFICO 6.- Chequear los datos en las tablas donde existieron problemas de corrupción lógica
  • 255. 1.- Seguir los pasos del 1 al 4. 2.- Usar el comando FLASHBACK y retroceder dos minutos en el tiempo EJERCICIO FLASHING BACK DE UNA BASE A UN TIEMPO DETERMINADO
  • 256. 1.- Seguir los pasos del 1 al 4. 2.- Hacer FLASHBACK a un tiempo específico, sin referenciar al SYSDATE y utilizar la función TO_DATE EJERCICIO FLASHING BACK DE UNA BASE A UN TIEMPO DETERMINADO
  • 257. 1.- Seguir los pasos del 1 al 4. 2.- FLASHBACK a un punto de restauración llamado “rp6” EJERCICIO FLASHING BACK A UN PUNTO DE RESTAURACION
  • 258. 1.- Seguir los pasos del 1 al 4. 2.- Use el siguiente comando para realizar FLASHBACK a la última operación de RESETLOGS EJERCICIO FLASHING BACK ANTES DEL ÚLTIMO RESETLOGS
  • 259. EJERCICIO ESTIMANDO LA CANTIDAD DE FLASHBACK LOGS GENERADOS Problemática: Se requiere saber cuantos flashback logs son generados en distintos intervalos de tiempo. Solución: Consultar la vista V$FLASHBACK_DATABASE_STAT para obtener los cambios de base de datos y los cambios de flashback ocurridos cada una hora
  • 260. EJERCICIO ESTIMANDO LA CANTIDAD DE FLASHBACK LOGS GENERADOS Identificandos cambios generados en la base de datos (BD- FLASHBACK)
  • 261. EJERCICIO CREANDO UN PUNTO DE RESTAURACION NORMAL Problemática: Se requiere crear un punto de restauración (no garantizado o normal). Solución: Crear un punto de restauración llamado rp1
  • 262. EJERCICIO CREANDO UN PUNTO DE RESTAURACION GARANTIZADO Problemática: Se requiere crear un punto de restauración (no garantizado o normal). Solución: Crear un punto de restauración llamado rp1
  • 263. EJERCICIO RECUPERANDO UNA TABLA ELIMINADA Problemática: Por error se ha eliminado una tabla. Se requiere reintegrar sin recuperar la base de datos Solución: Si una tabla fue eliminada hace un tiempo, actualmente se puede encontrar en el RECYCLE BIN.
  • 264. EJERCICIO RECUPERANDO UNA TABLA ELIMINADA 1.- Conectarse a la base de datos con el usuario dueño de la tabla 2.- Revisar si la tabla existe en el RECYCLE BIN 3.- Revivir la tabla desde el RECYCLE BIN con el comando
  • 265. EJERCICIO FLASHING BACK A UNA TABLA ESPECÍFICA 1.- Habilitar la propiedad de movimiento de filas en la tabla 2.- Activar la propiedad en la caso que no se encuentre activa 3.- Revisar hasta que punto en el tiempo se puede retrocer mediante Flashback
  • 266. EJERCICIO FLASHING BACK A UNA TABLA ESPECÍFICA 4.- Flasback de la tabla a un tiempo determinado 5.- Podemos hacer flashback dos o tres minutos en el pasado 6.- Podemos avanzar en el tiempo, usando el mismo estamento de flashback
  • 268. EJERCICIO RESPALDO Y RECUPERACIÓN + ASM METADATA 1.- Crear un Diskgroup adicional para propositos de prueba
  • 269. 2.- Crear un nuevo tablespace en el nuevo DiskGroup EJERCICIO RESPALDO Y RECUPERACIÓN + ASM METADATA
  • 270. 3.- Backup del tablespace asmtest y metadata de +ASM EJERCICIO RESPALDO Y RECUPERACIÓN + ASM METADATA
  • 271. 4.- Simular la falla del DiskGroup EJERCICIO RESPALDO Y RECUPERACIÓN + ASM METADATA
  • 272. 5.- Recobrar la metadata de ASM y el DiskGroup EJERCICIO RESPALDO Y RECUPERACIÓN + ASM METADATA
  • 273. MUCHAS GRACIAS!!!!!! Consultas y Emergencias CONSULTADBABLOCK@GMAIL.COM