zoukankan      html  css  js  c++  java
  • DRA(Data Recovery Advisor)的使用

    关于DRA的官方描述:

    The simplest way to diagnose and repair database problems is to use the Data Recovery Advisor. This Oracle Database tool provides an infrastructure for diagnosing persistent data failures, presenting repair options to the user, and automatically executing repairs.

    下面我们来做一个小实验来实际体会下DRA的便利性:

    1. rman登录到目标数据库
    2. 我们这里模拟丢失了一个数据文件
    3. 观察DRA是如何恢复数据库的

    1.rman登录到目标数据库

    [oracle@JY-DB BACKUP]$ rman target /
    
    Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 5 11:15:12 2015
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: JYZHAO (DBID=2463175424, not open)
    
    RMAN> LIST FAILURE;
    
    using target database control file instead of recovery catalog
    no failures found that match specification
    

    可以看到目前数据库没有找到需要恢复的匹配项。

    2.我们这里模拟丢失了一个数据文件

    #2.1 正常关库
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    
    #2.2 删除数据文件+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319
    #直接删除数据文件会报错
    ASMCMD> rm  DBS_D_JINGYU.259.886871319
    ORA-15032: not all alterations performed
    ORA-15028: ASM file '+DATA1/jyzhao/datafile/DBS_D_JINGYU.259.886871319' not dropped; currently being accessed (DBD ERROR: OCIStmtExecute)
    #数据库关闭后删除成功
    ASMCMD>  rm  DBS_D_JINGYU.259.886871319
    ASMCMD>
    
    #2.3 尝试打开数据库报错
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 1620115456 bytes
    Fixed Size                  2253704 bytes
    Variable Size             905972856 bytes
    Database Buffers          704643072 bytes
    Redo Buffers                7245824 bytes
    Database mounted.
    
    
    ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
    ORA-01110: data file 15: '+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319'
    

    3.观察DRA是如何恢复数据库的

    ## 3.1 LIST FAILURE; ##
    RMAN> LIST FAILURE;
    
    List of Database Failures
    =========================
    
    Failure ID Priority Status    Time Detected Summary
    ---------- -------- --------- ------------- -------
    4042       HIGH     OPEN      05-AUG-15     One or more non-system datafiles are missing
    

    3.2 ADVISE FAILURE;

    RMAN> ADVISE FAILURE;
    
    List of Database Failures
    =========================
    
    Failure ID Priority Status    Time Detected Summary
    ---------- -------- --------- ------------- -------
    4042       HIGH     OPEN      05-AUG-15     One or more non-system datafiles are missing
    
    analyzing automatic repair options; this may take some time
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=25 device type=DISK
    analyzing automatic repair options complete
    
    Mandatory Manual Actions
    ========================
    no manual actions available
    
    Optional Manual Actions
    =======================
    1. If file +DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319 was unintentionally renamed or moved, restore it
    2. Try flush redo using ALTER SYSTEM FLUSH REDO TO 'standby name' command.  Then perform a Data Guard role change (failover).  Available standbys: jyzhao_s.
    
    Automated Repair Options
    ========================
    Option Repair Description
    ------ ------------------
    1      Restore and recover datafile 15  
      Strategy: The repair includes complete media recovery with no data loss
      Repair script: /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/hm/reco_4099084102.hm
    

    3.3 REPAIR FAILURE;

    RMAN>  REPAIR FAILURE;
    
    Strategy: The repair includes complete media recovery with no data loss
    Repair script: /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/hm/reco_4099084102.hm
    
    contents of repair script:
       # restore and recover datafile
       restore datafile 15;
       recover datafile 15;
       sql 'alter database datafile 15 online';
    
    Do you really want to execute the above repair (enter YES or NO)? yes
    executing repair script
    
    Starting restore at 05-AUG-15
    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 00015 to +DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319
    channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/11.2.0/db_1/dbs/arch/JYZHAO/backupset/2015_08_05/o1_mf_nnndf_TAG20150805T102730_bw2x4m1l_.bkp
    channel ORA_DISK_1: piece handle=/u01/app/oracle/product/11.2.0/db_1/dbs/arch/JYZHAO/backupset/2015_08_05/o1_mf_nnndf_TAG20150805T102730_bw2x4m1l_.bkp tag=TAG20150805T102730
    channel ORA_DISK_1: restored backup piece 1
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
    Finished restore at 05-AUG-15
    
    Starting recover at 05-AUG-15
    using channel ORA_DISK_1
    
    starting media recovery
    media recovery complete, elapsed time: 00:00:00
    
    Finished recover at 05-AUG-15
    
    sql statement: alter database datafile 15 online
    repair failure complete
    
    Do you want to open the database (enter YES or NO)? yes
    database opened
    
    RMAN> 
    

    到此,使用DRA自动恢复完毕并成功打开数据库。

  • 相关阅读:
    用户体验评价
    第十四周进度总结
    寻找水王
    第十三周进度总结
    第一阶段意见评论
    梦断代码阅读笔记02
    第十二周进度总结
    冲刺(第十天)
    单词统计续
    冲刺(第九天)
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4704630.html
Copyright © 2011-2022 走看看