Oracle資料恢複顧問(DRA)使用測試

來源:互聯網
上載者:User

曾經處理過硬碟上資料損毀或者資料丟失的問題嗎?結果,儘管你還處在診斷和分析問題發生的階段,終端使用者和經理已經聯絡你,並且希望知道解決問題的大概時間(ETA)了。你是否希望擁有一個簡單,並且更為重要的是,快速的方法來診斷和修複這種類型的故障呢?

繼續閱讀,來瞭解Oracle資料恢複顧問(DRA)在這種情況下是如何協助我們的吧!

資料恢複顧問(Data Recovery Advisor)是一款Oracle資料庫工具。該工具會自動診斷資料故障,確定並提出相應修複方案,並執行客戶要求的修複。以上修複是基於資料故障是一個硬碟上持久性資料的損壞或者丟失。             
 
資料恢複顧問會在遇到問題時,自動採集資料故障資訊,並且,協助執行對於故障的修複。你可以手動修複一個資料故障,或者要求資料恢複顧問來為你執行修複動作。             
 
DRA可以通過企業管理器(EM)Grid Control和/或者復原管理員(RMAN)來訪問。本文將概述在RMAN中使用的命令。

在RMAN中,有四種DRA的命令:
•List Failure - 列出先前執行過的故障評估結果。可能的話,重新驗證現有故障並關閉它們。
•Advise Failure - 提出手動和自動修複方案。
•Repair Failure - 通過運行由ADVISE FAILURE建議的最佳修複方案來自動修複故障。完成之後會重新驗證現有故障。
•Change Failure - 使你可以改變故障的狀態。

例如:下面的步驟有關於一次事故,當一個資料檔案已經從作業系統上刪除,資料庫報告錯誤。
 
一個select語句執行失敗,並報出如下錯誤:
 SQL> select * from emp;
  select * from emp
  *
  ERROR at line 1:
  ORA-01116: error in opening database file 4
  ORA-01110: data file 4: '/u01/V112_oradata/users01.dbf'
  ORA-27041: unable to open file
  Linux Error: 2: No such file or directory
  Additional information: 3 

  DRA命令‘list failure’提供了此次問題的詳細資料:
  Recovery Manager: Release 11.2.0.3.0 - Production on Wed Aug 21 10:12:36 2013
  Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

  connected to target database: V112 (DBID=2335388877)

  RMAN> list failure;

  using target database control file instead of recovery catalog
  List of Database Failures
  =========================
  Failure ID Priority Status    Time      Detected Summary
  ---------- -------- --------- --------- --------------------------------------------
  82        HIGH    OPEN      21-AUG-13 One or more non-system datafiles are missing 

做為DRA的下一步操作,使用命令'advise failure',獲得修複該問題的建議方案:

 RMAN> advise failure;

  List of Database Failures
  =========================

  Failure ID Priority Status    Time Detected Summary
  ---------- -------- --------- ------------- -------
  82        HIGH    OPEN      21-AUG-13    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=28 device type=DISK
  analyzing automatic repair options complete

  Mandatory Manual Actions
  ========================
  no manual actions available

  Optional Manual Actions
  =======================
  1. If file /u01/V112_oradata/users01.dbf was unintentionally renamed or moved, restore it
  2. If file /u01/V112_oradata/test01.dbf was unintentionally renamed or moved, restore it

  Automated Repair Options
  ========================
  Option Repair Description
  ------ ------------------
  1 Restore and recover datafile 4; Restore and recover datafile 5
    Strategy: The repair includes complete media recovery with no data loss
    Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm 

DRA資訊中描述了,2個資料檔案的缺失,並且建議還原和恢複。

如前所述,DRA可以修複故障。執行修複指令碼之前,可以預覽所建議的命令:
 
 RMAN> repair failure preview;

  Strategy: The repair includes complete media recovery with no data loss
  Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm

  contents of repair script:
    # restore and recover datafile
    sql 'alter database datafile 4, 5 offline';
    restore datafile 4, 5;
    recover datafile 4, 5;
    sql 'alter database datafile 4, 5 online'; 

現在,你可以決定是否手動運行上面的指令碼或讓DRA來執行修複:

 RMAN> repair failure;

  Strategy: The repair includes complete media recovery with no data loss
  Repair script: /u02/app/oracle/diag/rdbms/v112/V112/hm/reco_1311249797.hm

  contents of repair script:
    # restore and recover datafile
    sql 'alter database datafile 4, 5 offline';
    restore datafile 4, 5;
    recover datafile 4, 5;
    sql 'alter database datafile 4, 5 online';

  Do you really want to execute the above repair (enter YES or NO)? yes
  executing repair script

  sql statement: alter database datafile 4, 5 offline

  Starting restore at 21-AUG-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 00004 to /u01/V112_oradata/users01.dbf
  channel ORA_DISK_1: restoring datafile 00005 to /u01/V112_oradata/test01.dbf
  channel ORA_DISK_1: reading from backup piece
  /u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_nnndf_TAG20130821T100251_919l4f2p_.bkp
  channel ORA_DISK_1: piece
  handle=/u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_nnndf_TAG20130821T100251_919l4f2p_.bkp
  tag=TAG20130821T100251
  channel ORA_DISK_1: restored backup piece 1
  channel ORA_DISK_1: restore  complete, elapsed time: 00:00:35
  Finished restore at 21-AUG-13

  Starting recover at 21-AUG-13
  using channel ORA_DISK_1

  archived log for thread 1 with sequence 79 is already on disk as file
  /u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_79_919lm6y2_.arc
  channel ORA_DISK_1: starting archived log restore to default destination
  channel ORA_DISK_1: restoring archived log
  archived log thread=1 sequence=77
  channel ORA_DISK_1: restoring archived log
  archived log thread=1 sequence=78
  channel ORA_DISK_1: reading from backup piece
  /u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_annnn_TAG20130821T101028_919llo3n_.bkp
  channel ORA_DISK_1: piece
  handle=/u01/temp/flash_areas/V112/V112/backupset/2013_08_21/o1_mf_annnn_TAG20130821T101028_919llo3n_.bkp
  tag=TAG20130821T101028
  channel ORA_DISK_1: restored backup piece 1
  channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_77_919ltj5h_.arc
  thread=1 sequence=77
  channel default: deleting archived log(s)
  archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_77_919ltj5h_.arc
  RECID=50 STAMP=824033680
  archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_78_919ltj7o_.arc
  thread=1 sequence=78
  channel default: deleting archived log(s)
  archived log file name=/u01/temp/flash_areas/V112/V112/archivelog/2013_08_21/o1_mf_1_78_919ltj7o_.arc
  RECID=51 STAMP=824033680
  media recovery complete, elapsed  time: 00:00:00
  Finished recover at 21-AUG-13

  sql statement: alter database      datafile 4, 5 online
  repair failure complete 

一旦成功完成修複指令碼,這個問題應該得到解決,並且select語句返回預期的結果:
 
 SQL> select * from emp;
  EMPNO ENAME    JOB      MGR  HIREDATE  SAL  COMM  DEPTNO
  ----- -------- --------- ----- --------- ---- ----- ------
    7900 JAMES    CLERK    7698  03-DEC-81  950      30
    7902 FORD    ANALYST  7566  03-DEC-81 3000      20
    7934 MILLER  CLERK    7782  23-JAN-82 1300      10

 更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.