Backups en Oracle

9,651 views
9,251 views

Published on

Gestión de backups en Oracle

Published in: Education
0 Comments
18 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,651
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
0
Comments
0
Likes
18
Embeds 0
No embeds

No notes for slide

Backups en Oracle

  1. 1. ADMINISTRACIÓN DE ORACLE 11G Backups de la base de datos 1 Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  2. 2. INTRODUCCIÓN  Hay 3 Maneras de hacer un Backup:  Backup Offline u Online.  Que sea entero o parcial  De toda la base de datos o de una parte  Completo o incremental  De todos los datos o sólo de los que cambiaron desde el último backup.  Cuando hacemos un backup podemos escoger entre estas tres opciones, dependiendo del modo de funcionamiento de la base de datos. 2Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  3. 3. INTRODUCCIÓN  Si estamos trabajando en modo noarchivelog, podemos escoger entre:  Offline – entero – completo  Offline – entero – incremental  Si nuestra base de datos no funciona en modo noarchivelog no podemos hacer backups online ni parciales.  Para poder hacer un backup offline, tenemos que haber cerrado la base de datos de forma consistente: shutdown normal, immediate o transactional.  Los backups pueden hacerse desde la herramienta RMAN (Recovery Manager) 3Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  4. 4. BACKUPS OFFLINE GESTIONADOS POR EL USUARIO  Podemos hacer backups desde línea de comandos siguiendo estos pasos:  Copiar los ficheros de control  Copiar los datafiles  Copiar los online redo log files  Aunque no se considera parte de la base de datos, también es conveniente tener una copia del fichero de parámetros. 4Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  5. 5. TALLER 1 Generar un .bat que haga un backup. 5Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  6. 6. BACKUPS OFFLINE GESTIONADOS POR EL SERVIDOR  Se hacen utilizando la herramienta RMAN.  Sólo pueden hacerse si la base de datos está en mount.  Porque RMAN necesita leer el archivo controlfile para localizar los datafiles.  Ejemplo de backup offline entero y completo desde RMAN: 6Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  7. 7. BACKUPS OFFLINE GESTIONADOS POR EL SERVIDOR  Las 2 primeras líneas, nos llevan a estado mount.  Luego indicamos que el backup se hará en disco(podría ser SBT_TAPE para cinta).  La siguiente instrucción es la de backup: BACKUPSET es una estructura propietaria de RMAN.  Esta estructura combina todos los ficheros en uno sólo y además podría comprimir el espacio que ocupan los datos(no en este ejemplo).  La palabra database indica que el backup ha de ser de toda la base de datos.  Con format indicamos el fichero al que irá a parar el backup.  Finalmente abrimos la base de datos. 7Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  8. 8. BACKUPS OFFLINE GESTIONADOS POR EL SERVIDOR  Con el script anterior, podemos generar un fichero que se llame offline_full_whole.rman y lanzarlo desde línea de comandos de la siguiente forma:  RMAN TARGET SYS/Pa$$w0rd @OFFLINE_FULL_WHOLE.RMAN  Desde RMAN pueden hacerse 3 tipos de backups:  BACKUP SET: Formato propietario formado por un conjunto de ficheros que no incluye los bloques vacíos.  COMPRESSED BACKUP: Parecido al anterior, pero además aplica un algoritmo de compresión.  IMAGE COPY: crea una imagen idéntica a los ficheros que tiene que copiar. Se pueden sustituir los originales sin problemas des de la copia. 8Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  9. 9. TALLER 2 Backups offline gestionados por usuario y servidor. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 9
  10. 10. BACKUPS ONLINE GESTIONADOS POR EL USUARIO  Pasos a seguir:  Backup del controlfile  Se puede hacer con:  ALTER DATABASE BACKUP CONTROLFILE TO „fichero‟  Crea una copia binaria del controlfile  ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS „fichero‟;  Crea un script que sirve para regenerar el controlfile en un fichero de texto.  Este script se puede ejecutar cuando la base de datos está en nomount.  Copiar los ficheros de datos  Archivar los online redo log files 10Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  11. 11. BACKUPS ONLINE GESTIONADOS POR EL USUARIO  Pasos a seguir:  Backup del controlfile  Copiar los ficheros de datos  Antes de hacer la copia, debemos poner los tablespaces de esos datafiles en modo backup:  ALTER TABLESPACE nombre_tablespace BEGIN BACKUP;  Pasar a modo backup fuerza que todo lo que está en memoria se copia a disco (fuerza un checkpoint)  Guardar los archived redo log files  También deberíamos hacerles un backup, para tener todos los cambios que se han ido haciendo en la base de datos. 11Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  12. 12. BACKUPS ONLINE GESTIONADOS POR EL SERVIDOR  Puede hacerse con este comando desde RMAN:  BACKUP DATABASE;  También podemos ajustarlo un poco más como en este script ejecutado también desde RMAN: 12Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  13. 13. BACKUPS ONLINE GESTIONADOS POR EL SERVIDOR  Explicación del script:  Damos de alta 2 unidades de cinta en las que poner los backups.  Al utilizar dos canales, tenemos la posibilidad de paralelizar las operaciones de backup.  El primer comando de backup, hace un backup de toda la base de datos:  Divide la base de datos en 4 partes y hace el backup set en 4 ficheros diferentes.  Esto también permitirá recuperar el backup más rápido después.  El segundo comando de backup, hace un backup de los archive log files, eliminándolos también de disco.  Cuando hacemos el backup desde RMAN, no es necesario poner los tablespaces en modo BACKUP. 13Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  14. 14. TALLER 3 Backups online gestionados por usuario y servidor. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 14
  15. 15. BACKUPS INCREMENTALES  Sólo pueden hacerse con backups de servidor.  Se debe a que el sistema operativo no puede “fisgonear” dentro de los datafiles para extraer cada parte.  El sistema operativo no sabe interpretar los datafiles, sólo Oracle.  Parten de una versión 0 que contiene todos los datos (incremental level 0 backup) y, a partir de aquí, se van haciendo los incrementales, añadiendo sólo los bloques que han sufrido cambios.  Desde RMAN podemos hacer un backup de nivel 0 con:  BACKUP AS BACKUP SET INCREMENTAL LEVEL 0 DATABASE;  Esto se podría hacer, por ejemplo, una vez a la semana.  Para hacer un incremental de nivel 1:  BACKUP AS BACKUP SET INCREMENTAL LEVEL 1 DATABASE;  Esto se puede ejecutar diariamente para tener los bloques que han cambiado, desde el primer 0 o desde el último nivel 1.  Hay otros niveles además del 1, pero hacen lo mismo. Se mantienen por compatibilidad. 15Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  16. 16. BACKUPS INCREMENTALES 16Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  17. 17. BACKUPS INCREMENTALES  Esta otra instrucción extrae los bloques que han cambiado desde el último nivel 0, independientemente de si hubo un nivel 1 o no:  BACKUP AS BACKUPSET CUMULATIVE DATABASE; 17Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  18. 18. TALLER 4 Hacer backups incrementales. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 18
  19. 19. AUTOMATIZAR BACKUPS  No se gestionan desde el sistema operativo, sino desde la herramienta Enterprise Manager.  Puede llevar a cabo cualquier tipo de backup:  Online, offline  Entero, parcial  Completo, incremental.  Siempre debe ser gestionado por el servidor, utilizando RMAN. 19Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  20. 20. TALLER 5 Automatizar un backup Carmen Soler Chorro - http://www.linkedin.com/in/casoch 20
  21. 21. RMAN REPOSITORY  RMAN tiene un repositorio en el que se guardan los detalles de todas las operaciones de backup que se han llevado a cabo.  Por ejemplo, desde este repositorio se puede saber las fechas en las que se hicieron backup y recuperar el que nos interese. 21Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  22. 22. INFORMES SOBRE BACKUPS  Podemos:  Ver los backups que existen.  Ver cuáles de ellos son necesarios para tener una versión actualizada de la base de datos y cuáles han quedado obsoletos.  Para ver todos los backups guardados en el repositorio:  LIST BACKUP OF DATABASE;  Listar todos los backups hechos de los archived redo log files:  LIST BACKUP OF ARCHIVELOG ALL;  Backups necesarios para hacer un backup de la última versión:  REPORT NEED BACKUP;  Backups que ya no son necesarios:  REPORT OBSOLETE;  Esta misma información también puede consultarse desde el Database Control Tool. 22Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  23. 23. GESTIONAR BACKUPS  Generalmente, los backups se guardan en cintas, que tienen una política de retención.  Se eliminan los ficheros que ya tienen un cierto tiempo.  RMAN debe estar al corriente de lo que va haciendo el DBA, ya que sino borra él las copias más antiguas, el RMAN lo hará automáticamente.  Para que RMAN pueda contrastar la información que él tiene con la que hay en realidad, tenemos 4 comandos:  CROSSCHECK  DELETE EXPIRED  DELETE OBSOLETE  CATALOG 23Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  24. 24. GESTIONAR BACKUPS  CROSSCHECK  Hace que RMAN compare su repositorio con lo que hay en realidad.  Comprueba que todos los backups que él ha hecho existan.  Lo que no encuentra, lo marca como EXPIRED.  DELETE EXPIRED  Elimina del repositorio todos los backups marcados como EXPIRED.  DELETE OBSOLETE  Fuerza que se aplique la política de retención y se eliminan los backups que ya no se consideran necesarios.  CATALOG  Permite informar a RMAN de backups que haya hecho el DBA manualmente para que los incluya en su repository.  También podemos informar de si hay backups en otros directorios.  Estas operaciones también pueden hacerse desde el Database Control Tool. 24Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  25. 25. MONITORIZAR LA FLASH RECOVERY AREA  La Flash Recovery Area es donde se almacenan los datos de recuperación.  Es importante monitorizar cuánto espacio nos queda disponible en esta zona.  Con el parámetro DB_RECOVERY_FILE_DEST sabemos el directorio donde está.  También podemos extraerlo de la vista v$recovery_file_dest.  Con DB_RECOVERY_FILE_DEST_SIZE, sabemos el espacio que tenemos disponible.  También podemos extraerlo de la vista v$flash_recovery_area_usage. 25Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  26. 26. TALLER 6 Gestionar los backups de RMAN. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 26

×