El Data Recovery Advisor fue introducido en Oracle 11g, una característica que ofrece recomendaciones respecto a fallas de bases de datos y también las repara si es posible. El DRA depende del Health Monitor para diagnósticos y puede ser usado por medio de RMAN o Enterprise Manager. Se ve bien pero ya que no tengo muchas bases de datos con fallas no tengo experiencia con él; sin embargo, tengo que estudiarlo para obtener la certificación de actualización de OCP 11g. A primera vista se ve como una buena característica para administradores con prisa o sin mucha experiencia, aunque personalmente prefiero hacer las cosas a mano y por mí mismo.
De cualquier forma, si quieres revisar las capacidades de DRA y tienes una base de datos para practicar podría valer el tiempo invertido en probar. El siguiente es un ejercicio para hacer eso, primero que nada, respalda tu base de datos ya que los respaldos son una parte importante de la recuperación usando DRA. Después, da de baja tu base de datos y renombra (o borra si tienes suficiente fé) un datafile, e intenta levantar tu base de datos:
La base de datos no se abrió como era de esperarse, por lo que el siguiente paso es ejecutar RMAN para usar el DRA. Como quizás sepas, es necesario tener al menos montada la base de datos para poder usar RMAN:
El siguiente paso es listar las fallas actuales conocidas:
Si quieres saber más detalles acerca de cierta falla también puedes hacerlo:
El Health Monitor corre diagnósticos automáticamente cuando una falla elevada o crítica aparece, pero si por alguna razón no hay primero un diagnóstico hecho entonces no puedes obtener consejo respecto a esa falla. El siguiente paso es obtener consejo acerca de las fallas abiertas:
Como podrás imaginar, el DRA primero verifica prerequisitos relevantes e indispensables antes de dar cualquier opción de reparación automática, como respaldos de bases de datos. Las acciones manuales opcionales son recomendaciones sobre cómo resolver las fallas a mano, en lugar de dejar que el ADR las arregle automáticamente. Agunas veces tienes que llevar a cabo acciones manuales obligatorias antes de poder hacer cualquier reparación manual o automática, y en este caso no hay acciones manuales obligatorias a realizar.
Además, hay dos tipos de opciones de reparación: sin pérdida de datos y con pérdida de datos, asegúrate de revisar la estrategia para saber si la opción de reparación seleccionada no implica pérdida de datos, o por lo menos entender qué vas a perder si seleccionas esa opción en caso de que no haya mejor opción.
Adicionalmente, si quieres puedes revisar y modificar el script de reparación listado antes de hacer cualquier reparación, o puedes probar el procedimiento de reparación sin llevar a cabo ninguna reparación de esta forma:
Si estás contento con las opciones de reparación automáticas entonces puedes reparar las fallas abiertas de la base de datos de esta manera:
Tienes que confirmar que realmente quieres ejecutar las reparaciones, y como paso final podrías querer abrir la base de datos antes de salir de RMAN. Y eso es todo! En este caso todo salió bien y la base de datos fue reparada sin pérdida de datos:
Más información:
Diagnosing and Repairing Failures with Data Recovery Advisor
De cualquier forma, si quieres revisar las capacidades de DRA y tienes una base de datos para practicar podría valer el tiempo invertido en probar. El siguiente es un ejercicio para hacer eso, primero que nada, respalda tu base de datos ya que los respaldos son una parte importante de la recuperación usando DRA. Después, da de baja tu base de datos y renombra (o borra si tienes suficiente fé) un datafile, e intenta levantar tu base de datos:
oracle@olimpo:~$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 6 13:35:56 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 263639040 bytes
Fixed Size 1335892 bytes
Variable Size 213913004 bytes
Database Buffers 41943040 bytes
Redo Buffers 6447104 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/opt/oracle/oradata/orcl11g/example01.dbf'
La base de datos no se abrió como era de esperarse, por lo que el siguiente paso es ejecutar RMAN para usar el DRA. Como quizás sepas, es necesario tener al menos montada la base de datos para poder usar RMAN:
oracle@olimpo:~$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Mar 6 13:36:56 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL11G (DBID=915822427, not open)
El siguiente paso es listar las fallas actuales conocidas:
RMAN> list failure;
using target database control file instead of recovery catalog
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
42 HIGH OPEN 06-MAR-13 One or more non-system datafiles are missing
Si quieres saber más detalles acerca de cierta falla también puedes hacerlo:
RMAN> list failure 42 detail;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
42 HIGH OPEN 06-MAR-13 One or more non-system datafiles are missing
Impact: See impact for individual child failures
List of child failures for parent failure ID 42
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
145 HIGH OPEN 06-MAR-13 Datafile 5: '/opt/oracle/oradata/orcl11g/example01.dbf' is missing
Impact: Some objects in tablespace EXAMPLE might be unavailable
El Health Monitor corre diagnósticos automáticamente cuando una falla elevada o crítica aparece, pero si por alguna razón no hay primero un diagnóstico hecho entonces no puedes obtener consejo respecto a esa falla. El siguiente paso es obtener consejo acerca de las fallas abiertas:
RMAN> advise failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
42 HIGH OPEN 06-MAR-13 One or more non-system datafiles are missing
Impact: See impact for individual child failures
List of child failures for parent failure ID 42
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
145 HIGH OPEN 06-MAR-13 Datafile 5: '/opt/oracle/oradata/orcl11g/example01.dbf' is missing
Impact: Some objects in tablespace EXAMPLE might be unavailable
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=133 device type=DISK
analyzing automatic repair options complete
Mandatory Manual Actions
========================
no manual actions available
Optional Manual Actions
=======================
1. If file /opt/oracle/oradata/orcl11g/example01.dbf was unintentionally renamed or moved, restore it
Automated Repair Options
========================
Option Repair Description
------ ------------------
1 NOARCHIVELOG mode restore datafile 5
Strategy: The repair includes complete media recovery with no data loss
Repair script: /opt/oracle/diag/rdbms/orcl11g/orcl11g/hm/reco_1400180561.hm
Como podrás imaginar, el DRA primero verifica prerequisitos relevantes e indispensables antes de dar cualquier opción de reparación automática, como respaldos de bases de datos. Las acciones manuales opcionales son recomendaciones sobre cómo resolver las fallas a mano, en lugar de dejar que el ADR las arregle automáticamente. Agunas veces tienes que llevar a cabo acciones manuales obligatorias antes de poder hacer cualquier reparación manual o automática, y en este caso no hay acciones manuales obligatorias a realizar.
Además, hay dos tipos de opciones de reparación: sin pérdida de datos y con pérdida de datos, asegúrate de revisar la estrategia para saber si la opción de reparación seleccionada no implica pérdida de datos, o por lo menos entender qué vas a perder si seleccionas esa opción en caso de que no haya mejor opción.
Adicionalmente, si quieres puedes revisar y modificar el script de reparación listado antes de hacer cualquier reparación, o puedes probar el procedimiento de reparación sin llevar a cabo ninguna reparación de esta forma:
RMAN> repair failure preview;
Strategy: The repair includes complete media recovery with no data loss
Repair script: /opt/oracle/diag/rdbms/orcl11g/orcl11g/hm/reco_1400180561.hm
contents of repair script:
# NOARCHIVELOG mode restore datafile
restore datafile 5;
recover datafile 5;
Si estás contento con las opciones de reparación automáticas entonces puedes reparar las fallas abiertas de la base de datos de esta manera:
RMAN> repair failure;
Strategy: The repair includes complete media recovery with no data loss
Repair script: /opt/oracle/diag/rdbms/orcl11g/orcl11g/hm/reco_1400180561.hm
contents of repair script:
# NOARCHIVELOG mode restore datafile
restore datafile 5;
recover datafile 5;
Do you really want to execute the above repair (enter YES or NO)? YES
executing repair script
Starting restore at 06-MAR-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /opt/oracle/oradata/orcl11g/example01.dbf
channel ORA_DISK_1: reading from backup piece /opt/oracle/flash_recovery_area/ORCL11G/backupset/2013_03_05/o1_mf_nnndf_TAG20130305T165413_8mdxwq5t_.bkp
channel ORA_DISK_1: piece handle=/opt/oracle/flash_recovery_area/ORCL11G/backupset/2013_03_05/o1_mf_nnndf_TAG20130305T165413_8mdxwq5t_.bkp tag=TAG20130305T165413
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 06-MAR-13
Starting recover at 06-MAR-13
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 06-MAR-13
repair failure complete
Do you want to open the database (enter YES or NO)? YES
database opened
RMAN> exit
Recovery Manager complete.
Tienes que confirmar que realmente quieres ejecutar las reparaciones, y como paso final podrías querer abrir la base de datos antes de salir de RMAN. Y eso es todo! En este caso todo salió bien y la base de datos fue reparada sin pérdida de datos:
oracle@olimpo:~$ sqlplus '/ as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 6 13:43:10 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> column INSTANCE_NAME format a20
SQL> column STATUS format a20
SQL> column DATABASE_STATUS format a20
SQL> select INSTANCE_NAME, STATUS, DATABASE_STATUS from v$instance;
INSTANCE_NAME STATUS DATABASE_STATUS
-------------------- -------------------- --------------------
orcl11g OPEN ACTIVE
Más información:
Diagnosing and Repairing Failures with Data Recovery Advisor
No hay comentarios.:
Publicar un comentario