RMAN sin misterios                 Ing. Nelson Calero, OCP               nelson.calero@logos.com.uy                       ...
Agenda•   Uso simple•   Conceptos•   Pasos para comenzar•   Troubleshooting•   Optimización•   Ejemplos                   ...
¿ Que es RMAN ?• utilitario de Oracle para manejar backup/recovery y su  historia• interfaz CLI y GUI• existe desde Oracle...
Arquitectura procesos RMAN                    4
¿best practices de b&r?Algunas.Productos relacionados conBackup & recovery:– datapump– flashback– secure backup           ...
respaldo con rmanDiferencias entre respaldo RMAN ymanual (user-managed) :– rman fija las reglas, pero es flexible– rman re...
respaldo sin rman• consistente (frío):    cp path/* dest-bkp• inconsistente (caliente) :    Alter tablespace nnn begin bac...
respaldo con rman• consistente (frío):     rman target /      startup mount;      backup database plus archivelog;• Incons...
respaldo con rmanSi usamos XE:$ORACLE_HOME/config/scripts/   • backup.sh   • restore.sh                       9
¿ realmente es tan fácil ?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archiv...
¿realmente es tan fácil?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archivin...
¿ realmente es tan fácil ?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archiv...
manual vs RMAN• Cuanto ocupa el respaldo generado por RMAN ? oracle@oraculo:~> du -hs oradata/XE 1.5G   .oradata/XE oracle...
manual vs RMAN• Cuanto ocupa el respaldo generado por RMAN ? => RMAN no respalda temp, redo logs, ni bloques libres ! 01:4...
manual vs RMAN Puede ocupar menos si es comprimido• Dos formas:   – Backup as compressed backupset ...   – CONFIGURE DEVIC...
manual vs RMANCuidado con XE : backup.sh no genera comprimido:   rman target /   CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO...
manual vs RMANExtracto de backup.sh:      echo "Backup in progress..."      rman target / >> $rman_backup << EOF         s...
manual vs RMANPara que comprima, backup.sh debe modificarse:      echo "Backup in progress..."      rman target / >> $rman...
Archivos• ¿Qué generó?    • List backup;• ¿Qué archivos respalda?    • datafiles (e image copies)    • controlfiles (e ima...
Conceptos• Backupset   –Backup pieces   –channels• Expirado• Obsoleto• Crosscheck• Incarnations                       20
Recovery           21
Incarnations               22
¿hay que seguir sin usar RMAN?• NO.• Mientras, plan de empezar a corto plazo• ¿Porqué?  – Solución uniforme : interfaz idé...
Hay que usar RMAN    Respaldos incrementales : respaldos más chicos, recuperación más•    rápida (sólo almacena los cambio...
Hay que usar RMAN• Usarlo implica:  –practicar recovery  –tener presente que archivos no   son transportables entre   plat...
Pasos para empezar a usarlo• definir política  – nivel de servicio aceptable  – retención  – destino  – nombres  – paralel...
Primeros pasos• crear script de configuración  – recovery puede ser en otro equipo• implementar scripts completos  –   Res...
Escenarios de recovery* 2 básicos:         completo y de tablespace* 12 avanzados:        Recovering After the Loss of Dat...
Escenarios de recovery* recuperar un respaldo completo RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE;* recuperar solo un ...
Primeros pasos• validar que respaldos sean útiles  – cintas sin errores  – integridad de datos     • física: backup valida...
Sólo en enterprise1. allocate parallel disk channels2. block change tracking                                 31
Cuando hay errores• Manuales• Metalink• Debugear     rman target / log rman.log trace rman.trc     run{       allocate cha...
Cuando hay errores• Media manager es de terceros• sbtio.log• Simular uso y comparar:     run {     allocate channel t1 typ...
Optimizar backups- hay que usar async IO (config. SO)- paralelismo adecuado (channels) a cantidadde cintas- revisar desemp...
Optimizar recovery• Scripts se ejecutan serial.• Esto no es performante:      run {        allocate channel t1 type sbt......
Optimizar recovery• Esto si:      run {        allocate channel t1 type sbt....;        allocate channel t2 type sbt....; ...
Ejemplos !•   Clonación clásica•   Clonación online (> 11.1)•   Clonación RAC•   Data Recovery Advisor                    ...
¿Siguientes pasos?• ejercitar escenarios separando roles de  DBAs• Usar Enterprise Manager• Data Recovery Advisor         ...
Referencias• Oracle® Database Backup and Recovery Basics - 10.2  http://download.oracle.com/docs/cd/B19306_01/backup.102/b...
Upcoming SlideShare
Loading in...5
×

UYOUG 2010 - RMAN sin misterios

3,015

Published on

Presentación dada en evento del Grupo de Usuarios Oracle de Uruguay (UYOUG) en junio/2010.

Published in: Technology, News & Politics
2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
3,015
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
76
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

UYOUG 2010 - RMAN sin misterios

  1. 1. RMAN sin misterios Ing. Nelson Calero, OCP nelson.calero@logos.com.uy 17 junio 2010
  2. 2. Agenda• Uso simple• Conceptos• Pasos para comenzar• Troubleshooting• Optimización• Ejemplos 2
  3. 3. ¿ Que es RMAN ?• utilitario de Oracle para manejar backup/recovery y su historia• interfaz CLI y GUI• existe desde Oracle 8 – 1997• instalado junto con la base, en $ORACLE_HOME/bin• es pro*C ejecutando PL/SQL• bugs en distintas versiones: 1359• Known RMAN Performance Problems [ID 247611.1] - 32 bugs, corregidos todos en 11g (algunos antes) 3
  4. 4. Arquitectura procesos RMAN 4
  5. 5. ¿best practices de b&r?Algunas.Productos relacionados conBackup & recovery:– datapump– flashback– secure backup 5
  6. 6. respaldo con rmanDiferencias entre respaldo RMAN ymanual (user-managed) :– rman fija las reglas, pero es flexible– rman requiere menos instrumentación– rman provee más funcionalidades 6
  7. 7. respaldo sin rman• consistente (frío): cp path/* dest-bkp• inconsistente (caliente) : Alter tablespace nnn begin backup; cp path/datafile.dbf destbkp Alter tablespace nnn end backup; 7
  8. 8. respaldo con rman• consistente (frío): rman target / startup mount; backup database plus archivelog;• Inconsistente (caliente) : rman target / backup database plus archivelog; 8
  9. 9. respaldo con rmanSi usamos XE:$ORACLE_HOME/config/scripts/ • backup.sh • restore.sh 9
  10. 10. ¿ realmente es tan fácil ?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archiving (ARCHIVELOG mode) is currently disabled. Ifyou restore the database from this backup, any transactions that takeplace between this backup and the next backup will be lost. It isrecommended that you enable ARCHIVELOG mode before proceeding sothat all transactions can be recovered upon restore. See the sectionEnabling ARCHIVELOG Mode... in the online help for instructions.Backup with log archiving disabled will shut down and restart thedatabase. Are you sure [Y/N]? 10
  11. 11. ¿realmente es tan fácil?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archiving (ARCHIVELOG mode) is currently disabled. Ifyou restore the database from this backup, any transactions that takeplace between this backup and the next backup will be lost. It isrecommended that you enable ARCHIVELOG mode before proceeding sothat all transactions can be recovered upon restore. See the sectionEnabling ARCHIVELOG Mode... in the online help for instructions.Backup with log archiving disabled will shut down and restart thedatabase. Are you sure [Y/N]? yBackup in progress...==================== ERROR =========================Backup of the database failed==================== ERROR =========================RMAN error: See log for details.Log file is at /usr/lib/oracle/xe/oxe_backup_current.log.Press ENTER key to exit 11
  12. 12. ¿ realmente es tan fácil ?oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.shWarning: Log archiving (ARCHIVELOG mode) is currently disabled. Ifyou restore the database from this backup, any transactions that takeplace between this backup and the next backup will be lost. It isrecommended that you enable ARCHIVELOG mode before proceeding sothat all transactions can be recovered upon restore. See the sectionEnabling ARCHIVELOG Mode... in the online help for instructions.Backup with log archiving disabled will shut down and restart thedatabase. Are you sure [Y/N]? yBackup in progress...Backup of the database succeeded.Log file is at /usr/lib/oracle/xe/oxe_backup_current.log.Press ENTER key to exit 12
  13. 13. manual vs RMAN• Cuanto ocupa el respaldo generado por RMAN ? oracle@oraculo:~> du -hs oradata/XE 1.5G .oradata/XE oracle@oraculo:~> ls -lrt /usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/backupset/2010_06_03/ total 1176688 -rw-r----- 1 oracle dba 1203748864 2010-06-03 00:57 o1_mf_nnndf_TAG20100603T005534_60g9xpkz_.bkp 13
  14. 14. manual vs RMAN• Cuanto ocupa el respaldo generado por RMAN ? => RMAN no respalda temp, redo logs, ni bloques libres ! 01:41:16 XE>select sum(bytes)/1024/1024 mb from dba_free_space; MB ---------- 135.8125 1.5G datafiles 1.1G rman 14
  15. 15. manual vs RMAN Puede ocupar menos si es comprimido• Dos formas: – Backup as compressed backupset ... – CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; -rw-r----- 1 oracle dba 1203986432 2010-06-03 01:31 o1_mf_nnndf_TAG20100603T013020_60gcywnl_.bkp -rw-r----- 1 oracle dba 235642880 2010-06-03 01:38 o1_mf_nnndf_TAG20100603T013720_60gdd066_.bkp Pasó de 1.1G a 200M (a costo de más CPU) 15
  16. 16. manual vs RMANCuidado con XE : backup.sh no genera comprimido: rman target / CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET; exit; ./backup.sh rman target / CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; exit ./backup.shls -lrt /usr/lib/oracle/xe/app/oracle/flash_recovery_area/XE/backupset/2010_06_03/-rw-r----- 1 oracle dba 1203748864 2010-06-03 00:57o1_mf_nnndf_TAG20100603T005534_60g9xpkz_.bkp-rw-r----- 1 oracle dba 1203986432 2010-06-03 01:31o1_mf_nnndf_TAG20100603T013020_60gcywnl_.bkp 16
  17. 17. manual vs RMANExtracto de backup.sh: echo "Backup in progress..." rman target / >> $rman_backup << EOF set echo on; shutdown immediate; startup mount; configure retention policy to redundancy 2; configure controlfile autobackup format for device type disk clear; configure controlfile autobackup on; sql "create pfile=$rman_spfile2init from spfile"; backup as backupset device type disk database; configure controlfile autobackup off; alter database open; delete noprompt obsolete;EOF 17
  18. 18. manual vs RMANPara que comprima, backup.sh debe modificarse: echo "Backup in progress..." rman target / >> $rman_backup << EOF set echo on; shutdown immediate; startup mount; configure retention policy to redundancy 2; configure controlfile autobackup format for device type disk clear; configure controlfile autobackup on; sql "create pfile=$rman_spfile2init from spfile"; backup as compressed backupset device type disk database; configure controlfile autobackup off; alter database open; delete noprompt obsolete;EOF 18
  19. 19. Archivos• ¿Qué generó? • List backup;• ¿Qué archivos respalda? • datafiles (e image copies) • controlfiles (e image copies) • archivelog • Spfile• Por lo tanto, no respalda: • redo logs, tempfiles (no son necesarios para recovery) • archivos de tablas externas o bfiles • binarios de la instalación 19 • archivos configuración de red
  20. 20. Conceptos• Backupset –Backup pieces –channels• Expirado• Obsoleto• Crosscheck• Incarnations 20
  21. 21. Recovery 21
  22. 22. Incarnations 22
  23. 23. ¿hay que seguir sin usar RMAN?• NO.• Mientras, plan de empezar a corto plazo• ¿Porqué? – Solución uniforme : interfaz idéntica en distintos sistemas operativos – Usa menos recursos y genera archivos más chicos. – Funcionalidades no disponibles de forma manual : 23
  24. 24. Hay que usar RMAN Respaldos incrementales : respaldos más chicos, recuperación más• rápida (sólo almacena los cambios) Block media recovery : repara datafile sin ponerlo offline• Unused block compression (10.2): no copia bloques libres• Compresión (bzip2 / zlib en 11g)• Encriptación• Repositorio de respaldos• Data Recovery Advisor (11g)• Detecta corrupción logica y física• backup optimization – no copia archivos existentes idénticos en destino.• Undo optimization (en 11g) – no copia undo no necesario.• 24
  25. 25. Hay que usar RMAN• Usarlo implica: –practicar recovery –tener presente que archivos no son transportables entre plataformas • ej : Respaldo tomado en x32 no se puede restaurar en x86_64. –bugs (cada vez menos) 25
  26. 26. Pasos para empezar a usarlo• definir política – nivel de servicio aceptable – retención – destino – nombres – paralelismo – tamaños máximos de archivos – uso de encriptación 26
  27. 27. Primeros pasos• crear script de configuración – recovery puede ser en otro equipo• implementar scripts completos – Respaldar – Borrar obsoletos – Listar catalogo (documentación) – Detectar errores• validar que respaldos sean útiles 27
  28. 28. Escenarios de recovery* 2 básicos: completo y de tablespace* 12 avanzados: Recovering After the Loss of Datafiles: Scenarios Recovering Through an Added Datafile with a Backup Control File: Scenario Re-Creating Datafiles When Backups Are Unavailable: Scenario Recovering Through RESETLOGS with Created Control File: Scenario Recovering NOLOGGING Tables and Indexes: Scenario Recovering Read-Only Tablespaces with a Backup Control File: Scenario Recovering Transportable Tablespaces: Scenario Recovering After the Loss of Online Redo Log Files: Scenarios Recovering After the Loss of Archived Redo Log Files: Scenario Recovering from a Dropped Table: Scenario Performing Media Recovery in a Distributed Environment: Scenario 28
  29. 29. Escenarios de recovery* recuperar un respaldo completo RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE;* recuperar solo un tablespace RMAN> SQL ALTER TABLESPACE users OFFLINE IMMEDIATE; RMAN> RESTORE TABLESPACE users; RMAN> RECOVER TABLESPACE users; RMAN> SQL ALTER TABLESPACE users ONLINE; 29
  30. 30. Primeros pasos• validar que respaldos sean útiles – cintas sin errores – integridad de datos • física: backup validate database ... • lógica + física: – backup blocks all check logical validate database; – select * from V$DATABASE_BLOCK_CORRUPTION; 30
  31. 31. Sólo en enterprise1. allocate parallel disk channels2. block change tracking 31
  32. 32. Cuando hay errores• Manuales• Metalink• Debugear rman target / log rman.log trace rman.trc run{ allocate channel t1 type sbt………trace=2; allocate channel t2 type sbt………trace=2; allocate channel t3 type sbt………trace=2; debug on; restore database; debug off; } 32
  33. 33. Cuando hay errores• Media manager es de terceros• sbtio.log• Simular uso y comparar: run { allocate channel t1 type sbt parms SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR =d:temp) trace=2; backup database; } 33
  34. 34. Optimizar backups- hay que usar async IO (config. SO)- paralelismo adecuado (channels) a cantidadde cintas- revisar desempeño de MML- se puede afinar conociendo la arquitecturade procesos RMAN: RMAN Backup Performance [ID 360443.1] 34
  35. 35. Optimizar recovery• Scripts se ejecutan serial.• Esto no es performante: run { allocate channel t1 type sbt....; allocate channel t2 type sbt....; allocate channel t3 type sbt....; restore datafile 2; restore datafile 3; restore datafile 5; restore datafile 7; restore datafile 11; } 35
  36. 36. Optimizar recovery• Esto si: run { allocate channel t1 type sbt....; allocate channel t2 type sbt....; allocate channel t3 type sbt....; restore datafile 2,3,5,7,11; } 36
  37. 37. Ejemplos !• Clonación clásica• Clonación online (> 11.1)• Clonación RAC• Data Recovery Advisor 37
  38. 38. ¿Siguientes pasos?• ejercitar escenarios separando roles de DBAs• Usar Enterprise Manager• Data Recovery Advisor 38
  39. 39. Referencias• Oracle® Database Backup and Recovery Basics - 10.2 http://download.oracle.com/docs/cd/B19306_01/backup.102/b14192/toc.htm• Oracle® Database Backup and Recovery Advanced Users Guide - 10.2 http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/toc.htm• Oracle® Database Backup and Recovery Users Guide - 11.2 http://download.oracle.com/docs/cd/E11882_01/backup.112/e10642/toc.htm• Metalink note 740911.1 - RMAN Restore Performance• Metalink note 360443.1 - RMAN Backup Performance 39
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×