• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
OOW LatinAmerica 2011 - RMAN sin misterios
 

OOW LatinAmerica 2011 - RMAN sin misterios

on

  • 2,886 views

Presentación dada en el evento Oracle OpenWorld Latin America 2011 en San Pablo, el 7 de Diciembre de 2011.

Presentación dada en el evento Oracle OpenWorld Latin America 2011 en San Pablo, el 7 de Diciembre de 2011.

Statistics

Views

Total Views
2,886
Views on SlideShare
2,792
Embed Views
94

Actions

Likes
0
Downloads
49
Comments
0

8 Embeds 94

http://databaseindex.blogspot.com 64
http://databaseindex.blogspot.mx 9
http://databaseindex.blogspot.in 6
http://www.docshut.com 5
http://www.linkedin.com 4
http://databaseindex.blogspot.com.es 3
http://www.yatedo.com 2
http://databaseindex.blogspot.com.ar 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    OOW LatinAmerica 2011 - RMAN sin misterios OOW LatinAmerica 2011 - RMAN sin misterios Presentation Transcript

    • RMAN sin misterios Ing. Nelson Calero, OCP nelson.calero@logos.com.uy1/53
    • Organización independiente sin fines de lucro, creada porprofesionales en Dic/2009.Ámbito donde se promueve el intercambio de conocimientoentre usuarios de tecnología Oracle, en áreas de aplicacionesy tecnología (BD) .Organizar eventos técnicos en el país en forma periódica.Acercar referentes internacionales a eventos locales.250 afiliados (agosto 2011) http://www.uyoug.org.uy
    • Junio/2010: 4 oradores locales 60 asistentesOctubre/2010: 5 oradores internacionales 5 oradores locales 80 asistentesJulio/2011: 8 oradores internacionales 3 oradores locales 120 asistentesMarzo/2012: ?
    • Sobre mí: http://www.linkedin.com/in/ncalero ● Desde 1994 trabajando con herramientas Oracle y Linux ● Desde 2001 DBA Oracle y MySQL ● Instructor de Oracle University 2011 en cursos oficiales ● Co-fundador y Presidente del Grupo de usuarios Oracle del Uruguay (UYOUG) ● Latin America Chair del Oracle RAC SIG
    • Agenda • Introducción • Conceptos • Pasos para comenzar • Troubleshooting • Optimización • Ejemplos5/53
    • ¿ Qué 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 documentados, en distintas versiones: – menos de 1283, más de 170. • Known RMAN Performance Problems [ID 247611.1] - 32 bugs, corregidos todos en 11g (algunos antes)6/53
    • Arquitectura procesos RMAN7/53 Referencia : http://docs.oracle.com/
    • ¿Hoy veremos mejores prácticas de backup & recovery? Algunas, las que usan RMAN Además, es necesario usar más tecnología que RMAN: • datapump • flashback • secure backup8/53
    • Respaldando con rman Diferencias entre respaldo RMAN y manual (user-managed) : – rman fija las reglas, pero es flexible – rman necesita menos instrumentación – rman provee más funcionalidades – rman requiere entrenamiento9/53
    • Respaldando 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;10/53
    • Respaldando con rman • consistente (frío): rman target /  startup mount; backup database plus archivelog; • inconsistente (caliente) : rman target /  backup database plus archivelog;11/53
    • Respaldando con rman Si usamos XE: $ORACLE_HOME/config/scripts/ • backup.sh • restore.sh12/53
    • ¿Realmente es tan fácil? oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.sh Warning: Log archiving (ARCHIVELOG mode) is currently disabled. If you restore the database from this backup, any transactions that take place between this backup and the next backup will be lost. It is recommended that you enable ARCHIVELOG mode before proceeding so that all transactions can be recovered upon restore. See the section Enabling ARCHIVELOG Mode... in the online help for instructions. Backup with log archiving disabled will shut down and restart the database. Are you sure [Y/N]? Prueba con OpenSuse 11.3 x32 y XE 10.213/53
    • ¿Realmente es tan fácil? oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.sh Warning: Log archiving (ARCHIVELOG mode) is currently disabled. If you restore the database from this backup, any transactions that take place between this backup and the next backup will be lost. It is recommended that you enable ARCHIVELOG mode before proceeding so that all transactions can be recovered upon restore. See the section Enabling ARCHIVELOG Mode... in the online help for instructions. Backup with log archiving disabled will shut down and restart the database. Are you sure [Y/N]? y Backup 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 exit14/53
    • ¿Realmente es tan fácil? oracle@oraculo:~/app/oracle/product/10.2.0/server/config/scripts> ./backup.sh Warning: Log archiving (ARCHIVELOG mode) is currently disabled. If you restore the database from this backup, any transactions that take place between this backup and the next backup will be lost. It is recommended that you enable ARCHIVELOG mode before proceeding so that all transactions can be recovered upon restore. See the section Enabling ARCHIVELOG Mode... in the online help for instructions. Backup with log archiving disabled will shut down and restart the database. Are you sure [Y/N]? y Backup in progress... Backup of the database succeeded. Log file is at /usr/lib/oracle/xe/oxe_backup_current.log. Press ENTER key to exit No reproducible en XE 11.215/53
    • Manual vs RMAN• ¿Cuánto 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_.bkp16/53
    • Manual vs RMAN• ¿Cuánto 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 rman17/53
    • Manual vs RMAN Puede ocupar menos si es comprimido Dos formas para hacerlo: – 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 usar más CPU)18/53
    • Manual vs RMAN Cuidado con XE : backup.sh no genera respaldo 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.sh ls -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:57  o1_mf_nnndf_TAG20100603T005534_60g9xpkz_.bkp -rw-r----- 1 oracle dba 1203986432 2010-06-03 01:31  o1_mf_nnndf_TAG20100603T013020_60gcywnl_.bkp19/53
    • Manual vs RMAN Extracto 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; EOF20/53
    • Manual vs RMAN Para 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; EOF21/53
    • ¿Compresión con XE? • No es tan necesario porque el máximo de  datos manejados es 11gb. • backup.sh usa redundancia 2.  Cambiarlo de acuerdo a nuestra  política.22/53
    • Archivos usados y generados • ¿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 • archivos configuración de red23/53
    • Conceptos • Backupset – backup pieces – channels • Expirado • Obsoleto • Crosscheck • Incarnations24/53
    • Recovery http://docs.oracle.com/cd/B12037_01/server.101/b10735/intro.htm#100944525/53
    • Incarnations http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmrvcon.htm#CHDCJGGD26/53
    • ¿Hay que seguir sin usar RMAN? • NO. • Mientras, plan de empezar a corto plazo • ¿Por qué? – 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:27/53
    • 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: no copia bloques libres • Compresión (bzip2 y zlib) • Encriptación • Repositorio de respaldos (catálogo) • Detecta corrupción lógica y física • Backup optimization: no copia archivos existentes idénticos en destino28/53
    • Mejoras en 11.1• Data Recovery Advisor• Mejor integración con DG: configuración y catálogo• Mejorado el uso de backups congelados (BACKUP .. KEEP): no necesitan archived logs posteriores• Uso de archived logs de otros destinos cuando no existen en la FRA y se necesitan respaldar• Mejoras a política de borrado de archivelogs: con standby no se borran de FRA si no fueron transferidos.• Clonación de base ACTIVA (sin usar respaldos)• Virtual private catalogs• Respaldo en paralelo de archivos grandes, usando nuevo parámetro SECTION SIZE• Undo optimization: no se respaldan segmentos de transacciones que ya comitearon• Block Media Recovery Performance Improvements, usando flashback logs si están disponibles• Mejorada detección de bloques corruptos, incluyendo nuevas opciones al comando VALIDATE: BLOCK y DATABASE.• Compresión más rápida con la incorporación del algoritmo ZLIB además del BZIP2 existente.• Block change tracking soportado en standby física• Soporte a variables de sustitución en scripts almacenados• Soporte para tablespaces transportables readonly• Detección de escrituras perdidas mejorado, usando parámetro DB_LOST_WRITE_PROTECT y dataguard• Parámetro DB_ULTRA_SAFE• Recovery más rápido usando algoritmo de paralelismo mejorado y optimizado para multi-procesadores29/53
    • Mejoras en 11.2• Oracle Secure Backup (OSB) Cloud Module• Mejoras al comando DUPLICATE Database: – sin conexión a la base origen, opcionalmente al catálogo – si hay tablespaces excluidos, valida que no incluya objetos de sys• Mejoras a Tablespace Point-in-Time Recovery (TSPITR): puede recuperar tablespace borrados, y repetir la operación• Automatic Block Repair usando standby física• Nueva opción del comando SET NEWNAME: variables de sustitución (%b)• Nueva opción SKIP UNNECESSARY DATAFILES al comando CONVERT DATABASE• Mejoras en algoritmos de compresión con niveles HIGH, MEDIUM, LOW (Advanced Compression Option)• Nuevo opción INCARNATION en los comandos BACKUP, RESTORE, y LIST• Nueva opción TO DESTINATION del comando BACKUP, usada ademaś por la funcionalidad de optimización30/53
    • 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)31/53
    • 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ón32/53
    • 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 útiles33/53
    • 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: Scenario34/53
    • Ejemplos de recovery* recuperar un respaldo completo RMAN> STARTUP MOUNT; RMAN> RESTORE DATABASE; RMAN> RECOVER DATABASE; RMAN> ALTER DATABASE OPEN;* recuperar solo un tablespace RMAN> SQL ALTER TABLESPACE mytbs OFFLINE IMMEDIATE; RMAN> RESTORE TABLESPACE mytbs; RMAN> RECOVER TABLESPACE mytbs; RMAN> SQL ALTER TABLESPACE mytbs ONLINE;35/53
    • 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; – por defecto, backup valida checksum de bloques al escribir en destino (física)36/53
    • Sólo en enterprise 1. allocate parallel disk channels 2. block change tracking37/53
    • Cuando hay errores • Manuales : http://otn.oracle.com • Soporte : http://support.oracle.com • 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; }38/53
    • Cuando hay errores • Media manager (MML) es de terceros • Genera sbtio.log • Simular uso y comparar: run { allocate channel t1 type sbt parms SBT_LIBRARY=oracle.disksbt,ENV=(BACK UP_DIR=d:temp) trace=2; backup database; }39/53
    • Optimizar backups - usar async IO (configuración en S.O.) - paralelismo adecuado (channels) a cantidad de cintas usadas por controladora - revisar desempeño de MML - se puede afinar conociendo la arquitectura de procesos RMAN: RMAN Backup Performance [ID 360443.1]40/53
    • 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; }41/53
    • Optimizar recovery • Esto sí: run { allocate channel t1 type sbt....; allocate channel t2 type sbt....; allocate channel t3 type sbt....; restore datafile 2,3,5,7,11; }42/53
    • ¿Tiempo para ejemplos? • Clonación clásica • Clonación online (> 11.1) • Clonación RAC • Data Recovery Advisor43/53
    • Clonación clásica • configurar ambiente de base destino – db_file_name_convert y log_file_name_convert • reinicar base destino en modo nomount • obtener SCN a restaurar. Varias formas. Una posible: select next_change# from v$archived_log where recid = (select max(recid) from v$archived_log where backup_count>0); • clonar (ejecutando en servidor destino) rman catalog rman/clave@rman target sys/clave@origen connect auxiliary / run { allocate auxiliary channel dupdb1 type disk; set until scn $MAX_SCN; duplicate target database to COPIA NOFILENAMECHECK; } • quitar archivelog en base clonada44/53
    • Clonación online (> 11.1) • Caso simple, usando mismos paths en origen y destino : rman nocatalog target sys/clave@origen connect AUXILIARY sys/clave@copia run { DUPLICATE TARGET DATABASE TO COPIA FROM ACTIVE DATABASE; } exit;45/53
    • Clonación RAC • Notas 452868.1 y 461479.1 • Cambios a clonación single instance – pfile base destino como single instance – Se clona igual que single instance – Cambiar parámetros pfile, agregar RAC • control_files, cluster_database – Reiniciar – Configurar en todos los nuevos nodos – Ajustes finales • Tnsnames.ora • Registrar en CRS46/53
    • Data Recovery Advisor • Caso : pérdida de datafile rm /u01/app/oracle/oradata/test11/users01.dbf oracle@test:/u01/app/oracle/oradata/test11> rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Thu Jun 3 14:07:35 2010 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: TEST11 (DBID=3428713062) RMAN> validate database; Starting validate at 03-JUN-10 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=68 device type=DISK RMAN-06169: could not read file header for datafile 4 error reason 5 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of validate command at 06/03/2010 14:07:50 RMAN-06056: could not access datafile 447/53
    • Data Recovery AdvisorRMAN> list failure; Mandatory Manual Actions ========================List of Database Failures========================= no manual actions availableFailure ID Priority Status Time Detected Summary Optional Manual Actions---------- -------- --------- ------------- -------122 HIGH OPEN 03-JUN-10 One or more non-system =======================datafiles are missing 1. If file /u01/app/oracle/oradata/test11/users01.dbf was unintentionally renamed or moved, restore itRMAN> advise failure all; Automated Repair OptionsList of Database Failures ================================================= Option Repair DescriptionFailure ID Priority Status Time Detected Summary ------ ---------------------------- -------- --------- ------------- ------- 1 Restore and recover datafile 4122 HIGH OPEN 03-JUN-10 One or more non-systemdatafiles are missing Strategy: The repair includes complete media recovery with no data lossanalyzing automatic repair options; this may take some time Repair script:using channel ORA_DISK_1 /u01/app/oracle/diag/rdbms/test11/test11/hm/reco_2784analyzing automatic repair options complete 754173.hm48/53
    • Data Recovery Advisor• El repair script tiene : Mandatory Manual Actions ======================== # restore and recover datafile 1. If file /u01/app/oracle/oradata/test11/users01.dbf sql alter database datafile 4 offline; was unintentionally renamed or moved, restore it restore datafile 4; 2. If you have an export of tablespace USERS, then recover datafile 4; drop and re-create the tablespace and import the data. sql alter database datafile 4 online; 3. Contact Oracle Support Services if the preceding recommendations cannot be used, or if they do not fix the failures selected for repair• Esto es porque hay un respaldo catalogado disponible. Si no Optional Manual Actions hubiera : =======================analyzing automatic repair options; this no manual actions availablemay take some timeusing channel ORA_DISK_1 Automated Repair Optionsanalyzing automatic repair options ========================complete no automatic repair options available49/53
    • Data Recovery AdvisorRMAN> repair failure; channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup setStrategy: The repair includes complete media recovery with channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/test11/users01.dbfno data loss channel ORA_DISK_1: reading from backup pieceRepair script: /u01/app/oracle/flash_recovery_area/TEST11/backupset/2010_06_03/o1_mf/u01/app/oracle/diag/rdbms/test11/test11/hm/reco_3604648805.hm _nnndf_TAG20100603T140513_60hr69ob_.bkp channel ORA_DISK_1: piececontents of repair script: handle=/u01/app/oracle/flash_recovery_area/TEST11/backupset/2010_06_0 3/o1_mf_nnndf_TAG20100603T140513_60hr69ob_.bkp # restore and recover datafile tag=TAG20100603T140513 sql alter database datafile 4 offline; channel ORA_DISK_1: restored backup piece 1 restore datafile 4; channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 recover datafile 4; Finished restore at 03-JUN-10 sql alter database datafile 4 online; Starting recover at 03-JUN-10Do you really want to execute the above repair (enter YES or using channel ORA_DISK_1NO)? yesexecuting repair script starting media recovery media recovery complete, elapsed time: 00:00:00sql statement: alter database datafile 4 offline Finished recover at 03-JUN-10Starting restore at 03-JUN-10 sql statement: alter database datafile 4 onlineusing channel ORA_DISK_1 repair failure complete50/53
    • ¿Siguientes pasos? • Ejercitar escenarios separando roles de DBAs • Usar Enterprise Manager • Data Recovery Advisor51/53
    • ¿Preguntas?nelson.calero@logos.com.uy
    • 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 • Whats New in Backup and Recovery? 11.1 - http://docs.oracle.com/cd/B28359_01/backup.111/b28270/wnbradv.htm 11.2 - http://docs.oracle.com/cd/E24693_01/backup.11203/e10642/wnbradv.htm • MOS note 360443.1 - RMAN Backup Performance • MOS note 740911.1 - RMAN Restore Performance53/53