RMANバックアップとリカバリ(6):時間による不完全なリカバリ!
不完全なリカバリは、データベース・レベルでなければなりません.時間ベースの不完全なリカバリは、ユーザーがテーブルを誤って削除したり、誤って切断したりするときに使用できます.
まずデータベースの障害をシミュレートし、データファイルを削除し、mount上のデータベースを使用します.
時間ベースのリカバリを使用してデータベースをリカバリ
最後に、データベースがopenステータスになっていることがわかります.
まずデータベースの障害をシミュレートし、データファイルを削除し、mount上のデータベースを使用します.
[oracle@linux oracle]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
[oracle@linux oracle]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on 10 18 05:07:51 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
SQL> conn /as sysdba
。
SQL> select sysdate from dual;
SYSDATE
-------------------
2011-10-18 05:08:04
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/tb1.dbf
SQL> ! rm -rf /u01/app/oracle/oradata/orcl/tb1.dbf
SQL> shutdown abort
ORACLE 。
SQL> startup mount
ORACLE 。
Total System Global Area 167772160 bytes
Fixed Size 1266392 bytes
Variable Size 88083752 bytes
Database Buffers 75497472 bytes
Redo Buffers 2924544 bytes
。
SQL> alter database open;
alter database open
*
1 :
ORA-01157: / 5 - DBWR
ORA-01110: 5: '/u01/app/oracle/oradata/orcl/tb1.dbf'
時間ベースのリカバリを使用してデータベースをリカバリ
[oracle@linux oracle]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';
[oracle@linux oracle]$ rman target /
: Release 10.2.0.4.0 - Production on 10 18 05:08:54 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
: ORCL (DBID=1292118315, )
RMAN> run {
2> set until time='2011-10-18 05:08:04';
3> restore database;
4> recover database;
5> alter database open resetlogs; }
: SET until clause
restore 2011-10-18 05:10:18
: ORA_DISK_1
ORA_DISK_1: sid=155 devtype=DISK
ORA_DISK_1:
ORA_DISK_1:
00001 /u01/app/oracle/oradata/orcl/system01.dbf
00002 /u01/app/oracle/oradata/orcl/undotbs01.dbf
00003 /u01/app/oracle/oradata/orcl/sysaux01.dbf
00004 /u01/app/oracle/oradata/orcl/users01.dbf
00005 /u01/app/oracle/oradata/orcl/tb1.dbf
ORA_DISK_1: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_18/o1_mf_nnndf_TAG20111018T045948_79s5t51d_.bkp
ORA_DISK_1: 1
= /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_18/o1_mf_nnndf_TAG20111018T045948_79s5t51d_.bkp = TAG20111018T045948
ORA_DISK_1: , : 00:00:36
restore 2011-10-18 05:10:56
recover 2011-10-18 05:10:57
ORA_DISK_1
, : 00:00:05
recover 2011-10-18 05:11:03
最後に、データベースがopenステータスになっていることがわかります.
SQL> select status from v$instance;
STATUS
------------
OPEN