Oracle資料恢復顧問(DRA)使用測試 (之一)
曾經處理過硬碟上資料損壞或者資料丟失的問題麼?結果,儘管你還處在診斷和分析問題發生的階段,終端使用者和經理已經聯絡你,並且希望知道解決問題的大概時間(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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-1147525/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料恢復顧問(DRA)使用測試 (之二)Oracle資料恢復
- 使用資料恢復顧問資料恢復
- rman(4)--資料恢復顧問資料恢復
- oracle誤drop/update資料恢復測試Oracle資料恢復
- Oracle恢復測試Oracle
- PDM測試資料庫恢復資料庫
- Oracle RMAN恢復測試Oracle
- rman備份恢復-rman恢復資料檔案測試
- Oracle資料庫的熱備份與完整恢復測試 (2)Oracle資料庫
- Oracle資料庫的熱備份與完整恢復測試 (1)Oracle資料庫
- oracle刪除使用者後的恢復測試Oracle
- ORACLE資料恢復Oracle資料恢復
- 定時做資料庫恢復測試sqlserver資料庫SQLServer
- oracle備份與恢復測試(五)Oracle
- oracle xtts資料庫遷移方法測試之一OracleTTS資料庫
- ORACLE-資料恢復Oracle資料恢復
- SQLSERVER恢復測試SQLServer
- Oracle常規恢復的實驗測試Oracle
- Oracle中truncate table後的資料恢復(Oracle資料恢復工具-ODU)Oracle資料恢復
- 使用恢復建議恢復資料庫資料庫
- rman不使用恢復目錄恢復資料庫示例及問題資料庫
- rman 恢復機制與恢復測試
- 【管理篇備份恢復】rman恢復測試(一) 表空間資料檔案
- 測試恢復3==當資料庫處於開啟狀態時的恢復資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- Oracle9i使用logminer恢復資料Oracle
- 使用ODU恢復oracle被truncate的表資料Oracle
- oracle9i使用flashback恢復資料(轉)Oracle
- Oracle恢復誤刪資料Oracle
- Oracle資料恢復專題Oracle資料恢復
- oracle資料恢復還原Oracle資料恢復
- 使用RMAN實現災難恢復測試
- Oracle DG從庫 Rman備份恢復測試Oracle
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 恢復資料,資料塊恢復
- 【資料庫資料恢復】ORACLE常見資料災難&資料恢復可能性資料庫資料恢復Oracle