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自动恢复完毕并成功打开数据库。

  • 相关阅读:
    mysql多表查询的方式有哪些?
    Linq无聊练习系列4--join练习
    Linq无聊练习系列3--聚合函数练习
    Linq无聊练习系列2--select/distinct练习
    Linq无聊练习系列1--where练习
    人力资源系统遇到的问题
    sqlserver游标概念与实例全面解说
    $.cookie的用法
    JavaScript系列----正则表达式
    ASP.NET中的URL编码解码
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4704630.html
Copyright © 2011-2022 走看看