Abf leccion 17

20
Jaime Amigo P. © 2006, Santiago - Chile Instituto Profesional DuocUC Escuela de Ingeniería Respaldo de Bases de Datos

Transcript of Abf leccion 17

Page 1: Abf leccion 17

Jaime Amigo P. © 2006, Santiago - Chile

Instituto Profesional DuocUCEscuela de Ingeniería

Respaldo de Bases de Datos

Page 2: Abf leccion 17

2

Instituto Profesional DuocUCEscuela de Ingeniería

Objetivos

Después de completar esta lección, deberá saber lo siguiente:• Crear respaldos consistentes• Respaldar una base de datos sin tener que bajarla• Crear respaldos incrementales• Automatizar respaldos• Monitorear el área de flash recovery

Page 3: Abf leccion 17

3

Instituto Profesional DuocUCEscuela de Ingeniería

Terminología

• Una estrategia de respaldo debe contener:– La base de datos completa (whole)– Una porción de la base de datos (parcial)

• El tipo de respaldo contener:– Toda la información de todos los datafiles (full)– Sólo información que ha sido modificada desde un

respaldo anterior (incremental)• Los modos de respaldo pueden ser:

– Offline (consistente, en frío)– Online (inconsistente, en caliente)

TerminologíaHay mucha maneras estrategias para respaldar y recuperar una base de datos Oracle, algunas de las cuales estar disponibles a traves de RMAN (Recovery Manager) y otras disponibles a través del uso de comandos del sistema operativo. RMAN en 10g va en su cuarta generación y comenzo con el release 8.0 y se ha ido perfeccionando a través de las versiones 8i, 9i y 10g. Un problema persistente con RMAN ha sido la inferfaz de usuario, sin embargo, todas aquellas complicaciones de interfaz han sido resueltos con la versión 10g. Con RMAN se pueden respaldar datafiles, archivos de control, archivos de redo log, archivos de parámetros.La primera pregunta que un Administrador se hace al momento de definir una estrategía de respaldo es determinar si la base de datos será respaldada en forma completa o parcial.

Respaldo Completo y ParcialUn respaldo de la base de datos completo (Whole Backup), incluye todos los datafiles y al menos un archivo de control (recuerde que todos los archivos de control definidos para una base de datos son idénticos, por tanto, basta respaldar solo uno de ellos). No se requiere respaldar los archivos de redo log. Recuerde que estos archivos estan protegidos por multiplexación y opcionalmente pueden ser respaldados (cuando la base de datos esta configurada en modo ARCHIVELOG). Solo los datafiles de tipo permanent pueden ser respaldados, por tanto, el tablespace temporal, no será respaldado y en caso de pérdida de la base de datos, este deberá ser recreado.

Page 4: Abf leccion 17

4

Terminología (continuación)Los respaldo parciales de una base de datos pueden incluir cero o más tablespace, cero o más datafiles y pueden o no incluir un archivo de control. Un respaldo parcial, innevitable no puede ser sincronizado con el resto de la base de datos. ES una copia de solo parte de la base de datos, a un momento del tiempo en particular. Si se requiriera recuperar un archivo desde un respaldo parcial existente, es necesario sincronizarlo con el resto de la base de datos. Es decir, si se pierde un datafile es necesario sincronizarlo con los archivos de archive log, para que una vez recuperada la información del datafile perdido, se sincronice con los archive redo log y la información quede consistente a un instante de tiempo. Los respaldos parciales son sólo válidos para bases de datos configuradas en modo ARCHIVELOG.Los respaldos completo o parciales, pueden ser ejecutados desde RMAN o desde línea de comandos en el servidor de la base de datos.

Respaldo Full o IncrementalUn respaldo full, puede ser completo o parcial y fundamentalmente es una copia completa de uno o más datafiles. Cada bloque del datafile es respaldado. Un respaldo incremental es un respaldo de sólo algunos de los bloques de un datafile: solo los bloques que han sido modificados o agregados desde el último respaldo full, son respaldados.Muchos administradores de bases de datos evitan respaldos incrementales porque en el caso que se requiera una operación de recuperación, es preciso tener válido un respaldo full y luego aplicar los respaldos incrementales que correspondan. Es necesario entonces, tener un registro (bitácora) para mantener la pista de todos los respaldos full e incrementales que se han aplicado. Sin embargo, Oracle cuenta con una característica incorporada en su motor que se denomina RMAN (Recovery Manager). RMAN se encarga ed llevar esta bitácora de respaldos full e incrementales, en forma automática. Para ello, cuenta con una instancia propia para llevar este control y registro. RMAN sabe, si un respaldo fue realizado a disco o a una cinta, a la hora a la que se hizo, si fue incremental o full, localización física dentro del servidor donde quedarán almacenados los archivos de respaldo, etc.Los respaldos incrementales pueden ser realizados con la intancia abierta o cerrada y ya sea este configurada en modo ARCHIVELOG o NOARCHIVELOG. Pero solo pueden ser realizados por RMAN. El administrador además cuenta con posibilidad de respaldar la base de datos a través de comandos del sistema operativo, sin embargo, este tipo de respaldos no queda reflejado a nivel del RMAN, por tanto, la bitacora no quedara actualizada.Se recomienda utilizar RMAN para llevar un adecuado control de los respaldos.Los respaldos incrementales son generalmente mucho más pequeños que los respaldos full y son significativamente más rápidos.Los respaldos incrementales permiten hacer una copia de todos los bloques de datos que han cambiado desde el último. Oracle 10g soporta 2 niveles de Respaldos Incrementales (0-1). El nivel 0 o línea de base de respaldo (baseline backup), equivale a un respaldo total (Full) y a todos los bloques de datos. El nivel 1 respalda incrementalmente todos los bloques de base de datos cambiados desde el respaldo de nivel 0. Para recuperar usando respaldos incrementales, se requiere primero recuperar el respaldo de nivel de base o nivel 0 y posteriormente el respaldo incremental.Respaldos Online y OfflineRespaldos Offline (también conocidos como respaldos consistentes) son realizados mientras la base de datos no esta abierta. Ellos son consistentes porque al momento del respaldo, no existen alteraciones a los datos hechas por ningún usuario a traves de sus aplicaciones. Respaldos Online (también conocidos como respaldos inconsistentes) son realizados mientras la base de datos esta abierta. Los respaldos son inconsistentes porque con la base de datos abierta no hay garantia que los datafiles esten sincronizados con los archivos de control. Los respaldos inconsistentes requieren de recuperación para ser utilizados.

Page 5: Abf leccion 17

5

Instituto Profesional DuocUCEscuela de Ingeniería

Terminology

• Respaldos deben ser almacenados como:– Copia de imágen– Conjunto de respaldos

Data File #2

Data File #3

Data File #4

Data File #5

Data File #1

Data File #6Copias de Imágen

Conjunto de Respaldos

Data File #6Data File #5

Data File #4Data File #3

Data File #2Data File #1

Terminología (continuación)Una copia de imagen (image copy) es el respaldo de un archivo donde byte a byte es el mismo que el archivo fuente respaldado. Es decir, es un duplicado de los datos o archivos archived redo log (similar a copiar archivos usando comandos del sistema operativo). Lógicamente copia de imagen no puede ser un respaldo incremental.Un conjunto de respaldos (backup set), son copias de uno o más datos o archivos archive redo log y corresponde a una estructura propietaria de RMAN. Con conjunto de respaldos, los bloques de datos vacios no son almacenados, por tanto, utilizan menos espacio en disco duro o cintas. Este tipo de respaldos puede ser comprimido para reducir espacio del respaldo. Esta estructura lógica consiste de uno o más archivos físicos, conocidos como piezas, las que contienen uno o más datafiles, control file o archivos de archive redo log. Estos tres tipos de archivos pueden ser combinados en solo un conjunto de respaldo, si se desea. Los conjuntos de respaldos, pueden ser decodificados sólo por RMAN.

Page 6: Abf leccion 17

6

Terminología (continuación)Por lo tanto, si se configura RMAN para respaldos con conjunto de respaldos (backup sets), solo a través de RMAN será posible realizar una recuperación desde dichos backup sets. Sin embargo, RMAN puede hacer copias de imagen, y puede distinguir de aquellas realizadas por RMAN y las realizadas a través del Sistema Operativo a traves de utilitarios para ello. Por lo tanto, si por alguna razón se desea recuperar una base de datos con copia de imágen desde comandos del sistema operativo, es posible hacerlo.La copia de imágenes pueden ser enviados a disco y los backup set puede ser enviados a disco o cinta directamente.Los respaldos con backup set, reducen significativamente el espacio requerido para ello. La mayoría de las bases de datos contienen al rededor de un 20% o más de bloques vacíos. En bases de datos configuradas en modo NOARCHIVELOG los respaldos full y completos, deben ser ejecutados con la base de datos OFFLINE. Con bases de datos configuradas en modo ARCHIVELOG permiten realizar una mayor cantidad de opciones de respaldo

Page 7: Abf leccion 17

7

Instituto Profesional DuocUCEscuela de Ingeniería

Recovery Manager (RMAN)

Enterprise Manager usa Recovery Manager (RMAN) para ejecutar operaciones de respaldo (backup) y recuperación (recovery).• Interfase de línea de comandos para funciones

avanzadas• Poderoso lenguaje de control y script• Interfaz API pública que permite interactuar con los

software de respaldos más polulares (Legato, Veritas, etc)

• Respalda datafile, archivos de control, archivos de archive redo log, archivos de parámetros del servidor (SPFILE)

• Respalda a disco duro o cinta

Recovery Manager (RMAN)Recovery Manager es un componente de Oracle 10g cuya funcionalidad es ejecutar operaciones de respaldo y recuperación (backup/recovery). RMAN permite tomar respaldos consistentes e inconsistentes, ejecutar respaldos full o incrementales y respaldar la base de datos entera o sólo una parcial de ella.RMAN utiliza un lenguaje propio para el control de trabajos y codificación, tambien tiene una API publicada que permite interactuar con los más populares software de respaldo del mercado (veritas, legato, etc). Puede respaldar respaldos en disco para recuperaciones rapidas o colocarlo sobre una cinta para un almacenamiento y resguardo. Enterprise Manager provee una interfase gráfica que implementa las funcionalidades más comunes de RMAN. Para opciones respaldo y recuperación mas avanzadas, estas pueden realizarse a través de la línea de comandos.

Page 8: Abf leccion 17

8

Instituto Profesional DuocUCEscuela de Ingeniería

Configurando Seteos de Respaldo

Configurando Seteos de RespaldoNavegUe a la página de Mantenimiento y haga click en Configure Backup Settings. Desde la página de propiedades, puede gestionar la configuración de respaldo a ser usada para crear los mismos. Hay configuraciones separadas para discos y cintas. Las configuraciones para respaldo en cinta dependen de las capacidades de la capa de gestión de medios MML (Media Management Layer). Configuración de discos incluye:

• Parallelism: Cuantos streams separados de información de respaldo se desean crear. El paralelismo depende del hardware. En configuraciones con una CPU, con un controlador de disco o un único disco en el servidor no hay beneficios adicionales para generar respaldos paralelos. En la medida que los recursos de hardware aumenten, se debe configurar también un adecuado grado de paralelismo para el respaldo.

• Disk backup location: Dónde los respaldo serán almacenados físicamente? El default es al área de Flash Recovery (área del disco en el servidor que hace las veces de una papelera en Windows). Si se desea cambiar esta localización, haga click en “Test Disk Backup” para verificar que RMAN pueda escribir en la nueva localización.

Page 9: Abf leccion 17

9

Configurando Seteos de Respaldo (continuación)• Disk backup type: Seleccione image copy (copia imagen), backup set (conjunto

de respaldo), o compressed backup set (conjunto de respaldo comprimido).Haga click en el tab Backup Set tab para setear el tamaño máximo de archivos de respaldos (los backup set pueden ser divididos para un archivado mas sencillo). Por ejemplo, cada backup set, podría no ser superior a 2GB. En caso de haber un respaldo de 5 GB, habrían 2 backup set de 2 GB y uno de 1GB.Se requieren las credenciales del Servidor para Enterprise Manager. Cuenta y password del servidor de base de datos con los permisos respectivos para realizar los respaldos en dicha localización de disco. Se puede seleccionar salvar estas credenciales para un futuro.

Page 10: Abf leccion 17

10

Instituto Profesional DuocUCEscuela de Ingeniería

Configurando Seteos de Respaldos

Configurando Seteos de Respaldo (Continuación)Haga click en el Tab Policy (Política):

• Automáticamente se puede salvar el archivo de control y SPFILE en cada respaldo y puede quedar esta opción predeterminada para fututos procesos. Es posible especificar una localización para esos respaldos sino se desea que ellos vayan al área de flash recovery.

• Optimizar respaldos, para no respaldar archivos que son exactamente idénticos a otros ya respaldados. Esta configuración permite saltarse datafiles que no han sido alterados y que están offline.

• Habilita el seguimiento de bloques modificados y especifica una localización en disco para el archivo de seguimiento (tracking). Si se intenta crear un respaldo incremental esta configuración puede disminuir el tiempo necesario para el respaldo.

• Excluir los tablespaces de un respaldo entero o completo de una base de datos. Algunos administradores seleccionarán no respaldar tablespaces que contienen datos o objetos fáciles de reconstruir (como por ejemplo, índices o datos que cargados frecuentemente en forma batch).

• Retention policy: la política de retención, significa cuánto debe RMAN mantener los respaldos. Si se usa el área de Flash Recovery para almacenar los respaldos, RMAn automáticamente borra los respaldos viejos para hacer espacio a los nuevos (si la política de retención así lo permite). Por defecto, el último respaldo es retenido. Esta política de retención puede ser especificada como un número de respaldos a retener o bien, un número de día.

Page 11: Abf leccion 17

11

Instituto Profesional DuocUCEscuela de Ingeniería

Esquematizando Respaldos: Estrategia

Seleccione respaldo completo o parcial de la base de datos

Esquematizando Respaldos: EstrategiaHaga click en Schedule Backup desde la sección Backup/Recovery de la página de Maintenance. Seleccione la estrategia de respaldo sugerida por Oracle o defina su propia estrategia de respaldo. La estrategia de respaldo sugerida por Oracle hace un respaldo completo de la base de datos, la líne base es incremental nivel 0, respaldo online y esquema incremental de respaldo nivel 1 para cada siguiente respaldo diario.Seleccionando Customized, se accede a una amplia gama de opciones de configuración. Seleccione cuáles objetos se desean respaldar – por defecto respaldo completo o o tablespaces individuales, datafiles, archivelogs o algún respaldo residente en disco (para moverlos a una cinta posteriormente).

Page 12: Abf leccion 17

12

Instituto Profesional DuocUCEscuela de Ingeniería

Esquematizando Respaldos: Opciones

Esquematizando Respaldos: OpcionesSeleccione los niveles de respaldo: full o incremental. Si ejecuta un respaldo full de la base de datos, usted puede seleccionar “Use as the base of an incremental backup strategy” para realizar un respaldo full incremental nivel 0. Si utiliza copia de imagen, seleccione “Refresh the latest datafile copy on disk to the current time using the incremental backup” modificando el check box up.Seleccione si el modo de respaldo será online o offline. Recuerde que en bases de datos en modo NOARCHIVELOG los respaldos deben ejecutarse offline.Se puede seleccionar respaldar los archivos de archivelog y borrarlos del disco una vez que han sido exitosamente respaldados.Haciendo click en el checkbox delete obsolete backups permite eliminar cualquier respaldo que este fuera de la política de retención configurada. RMAN automáticamente removerá los respaldos obsoletos si estan almacenados en al área de flash recovery.Seleccione el número máximo de archivos que deseas colocar en cada backup. Limitando el número de archivos por conjunto, se puede apurar el proceso de recuperación porque el tamaño del backupset a ser retornado desde cinta será más pequeño que un respaldo simple que contenga todos los archivos de datos para la base de datos que fue creada.

Page 13: Abf leccion 17

13

Instituto Profesional DuocUCEscuela de Ingeniería

Esquematizando Respaldos: Setesos

Los seteos de configuración de respaldos persistentes pueden ser eliminado, haciendo click en OverrideCurrent Settings.

Esquematizando Respaldos: Settings Desde la página de seteos se pueden eliminar muchos de los ajustes definidos en un respaldo anterior.

Page 14: Abf leccion 17

14

Instituto Profesional DuocUCEscuela de Ingeniería

Esquematizando Respaldos: Schedule

Esquematizando Respaldos: ScheduleSeleccione cómo desea que el respaldo sea esquematizado. Es le permitirá generar un proceso interno en la base de datos que podrá ejecutar automáticamente según las reglas que defina en esta pantalla.Para configurar una base de datos para una máxima recuperabilidad, Oracle sugiere regularmente esquematizar respaldos. La automatización de respaldos puede simplificar la carga de trabajo del administrador.

Page 15: Abf leccion 17

15

Instituto Profesional DuocUCEscuela de Ingeniería

Esquematizando Respaldos: Revisión

Click en Edit RMAN Script, para revisar los comandos RMAN

Esquematización de Respaldos: RevisiónRMAN utiliza su propia sintáxis de comando y lenguaje de script. El botón Edit RMANScript permite ver los comandos que el eschduler de respaldo ha generado para las entradas respectivas.Desde esta página, es posible personalizar el script RMAN si es necesario o copiarlo para propósitos de documentación.

Page 16: Abf leccion 17

16

Instituto Profesional DuocUCEscuela de Ingeniería

Respaldo de los Trace de Archivos de Control

Los archivos de control tienen una información adicional de respaldo.

Los trace de respaldos de archivos de control, pueden ser usados para recuperar todos los archivos

de control perdidos

Respaldando los Trace de Archivos de ControlHaciendo click en Controlfiles en la sección Storage de la página de Administración, usted administra los archivos de control de la base de datos. Los archivos de control tiene información adicional de respaldos; y se les puede seguir la pista. Un trace de un archivo de control de respaldo, contiene sentencias SQL requeridas para recrear los archivos de control en el casi que estis archivos se pierdan.Aunque es muy dificil que una base de datos configurada adecuadamente, con múltiples copias de archivos de control, colocadas en lugares diferentes y en controladoras separadas, pueda perder todos los archivos de control al mismo tiempo, es posible que el administrador requiera volver atrás el archivo de control hasta el punto posterior al cambio de la estructura física de la base de datos (agregando tablespaces o datafile, agregando grupos de redo logs).Las copias de trazas del archivo de control pueden crearse usando Enterprise Manager haciendo click en Controlfiles desde la página de Administración o con comando SQL:

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;La trasa de respaldo es creada in la localización especificada en el parámetro de inicializaciónUSER_DUMP_DEST con el nombre sid_ora_pid.trc.

Page 17: Abf leccion 17

17

Backup Control File to Trace (continuación)El archivo de trace contiene información sobre las destinaciones de los archive log, seguidos de los comandos que crean archivos de control de reemplazo y después recuperarán la base de datos:

CREATE CONTROLFILE REUSE DATABASE ORCL NORESETLOGS ARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 226

LOGFILEGROUP 1 '/oracle/oradata/orcl/redo01.log' SIZE 10M,GROUP 2 '/oracle/oradata/orcl/redo02.log' SIZE 10M,GROUP 3 '/oracle/oradata/orcl/redo03.log' SIZE 10M

DATAFILE'/oracle/oradata/orcl/system01.dbf','/oracle/oradata/orcl/undotbs01.dbf','/oracle/oradata/orcl/sysaux01.dbf','/oracle/oradata/orcl/users01.dbf','/oracle/oradata/orcl/example01.dbf'

CHARACTER SET WE8ISO8859P1;-- Commands to re-create incarnation table-- Below log names MUST be changed to existing filenames on-- disk. Any one log file from each branch can be used to-- re-create incarnation records.-- ALTER DATABASE REGISTER LOGFILE

'/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_1_%u_.arc';-- ALTER DATABASE REGISTER LOGFILE

'/oracle/flash_recovery_area/ORCL/archivelog/2003_12_05/o1_mf_1_1_%u_.arc';-- Recovery is required if any of the datafiles are restored backups,-- or if the last shutdown was not normal or immediate.RECOVER DATABASE-- All logs need archiving and a log switch is needed.ALTER SYSTEM ARCHIVE LOG ALL;-- Database can now be opened normally.ALTER DATABASE OPEN;-- Commands to add tempfiles to temporary tablespaces.-- Online tempfiles have complete space information.-- Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/oradata/orcl/temp01.dbf'

SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

Page 18: Abf leccion 17

18

Instituto Profesional DuocUCEscuela de Ingeniería

Administración de Respaldos

Click en el script de RMAN, para revisar los comandos RMAN usados

Administración de RespaldosHaga click Manage Current Backups desde la página Mantenimiento para gestionar los respaldos. Aqui podrá ver cuando un respaldo a sido completado, dónde ha sido creado (disco o cinta) y si esta aún disponible.Al inicio de la página Manage Current Backups puede ver cuatro botones que permiten trabajar con respaldos existentes.

• Catalog Additional Files: Aunque RMAN (trabaja a través ed Enterprise Manager) es la forma recomendada para crear respaldos, es posible crear imágenes de otras maneras (ejemplo, bajando la base de datos y copiando los archivos). RMAN y Enterprise Manager no sabrán de esos respaldos a menos que sean agregados al catalogo.

• Crosscheck All: RMAN puede automáticamente eliminar respaldos obsoletos, pero también puede eliminarse usando comandos del sistema operativo. Si borra respaldos fuera de RMAN, el catalogo no sabrá que falta hasta que realice una referencia cruzada entre ek catalogo y lo que realmente esta ahí.

• Delete All Obsolete: Elimina respaldos más antiguos que superan la política de retención.

• Delete All Expired: Elimina del catalogo listado cualquier respaldo que no ha sido encontrado cuando una referencia cruzada sea ejecutada.

Page 19: Abf leccion 17

19

Instituto Profesional DuocUCEscuela de Ingeniería

Flash Recovery Area

Monitorear el área de Flash Recovery• Configurar el resgistro de flashback• Dimensionar el area de recovery• Monitorear el espacio de consumo actual

Area de Flash RecoveryEs un espacio asignado de disco designado para contener archived log, respaldos y logs de flashback.Si esta configurado el archivado de archived log en esta localización (con el parámetroUSE_DB_RECOVERY_AREA en una de las localizaciones), es importante monitorear este espacio para asegurar que no superará la capacidad. Si la instancia no dispone de espacio para almacenar esta información, se detendrá brevemente hasta que el administrador corrija esta situación.Haciendo click en Configure Recovery Settings desde la página de Mantenimiento, se puede configurar al Area de Flash Recovery Area. En esta página se puede:

• Indicar la localización del área de flash recovery• Indicar el tamaño del área de flash recovery (Oracle sugiere que sea al menos 2 veces el

tamaño de la base de datos y de esta manera soportar un respaldo y varios archivos de redo log)

• Verificar cuánto área de flash recovery ha sido consumida• Configurar el flashback de la base de datos.

Page 20: Abf leccion 17

Jaime Amigo P. © 2006, Santiago - Chile

Instituto Profesional DuocUCEscuela de Ingeniería

Fin de la Lección