oracle:rman恢复----通过时间set until time

 

   试验计划:先做一个0级备份,再创建一个表,插入几条数据,最后删除表,然后通过rman把该表的数据恢复。

 

试验环境:在归档模式,oracle10.2.0.1

 

开始试验:

1.rman level 0备份

RMAN> backup incremental level 0 database;



Starting backup at 02-DEC-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=154 devtype=DISK

channel ORA_DISK_1: starting incremental level 0 datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=/u01/app/oracle/product/10.2.0/db_2/oradata/orcl/system01.dbf

input datafile fno=00003 name=/u01/app/oracle/product/10.2.0/db_2/oradata/orcl/sysaux01.dbf

input datafile fno=00002 name=/u01/app/oracle/product/10.2.0/db_2/oradata/orcl/undotbs01.dbf

input datafile fno=00006 name=/u01/app/oracle/product/10.2.0/db_2/oradata/orcl/yn.dbf

input datafile fno=00004 name=/u01/app/oracle/product/10.2.0/db_2/oradata/orcl/users01.dbf

channel ORA_DISK_1: starting piece 1 at 02-DEC-13

channel ORA_DISK_1: finished piece 1 at 02-DEC-13

piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_nnnd0_TAG20131202T211658_99s22c7o_.bkp tag=TAG20131202T211658 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:25

channel ORA_DISK_1: starting incremental level 0 datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

including current control file in backupset

including current SPFILE in backupset

channel ORA_DISK_1: starting piece 1 at 02-DEC-13

channel ORA_DISK_1: finished piece 1 at 02-DEC-13

piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_ncsn0_TAG20131202T211658_99s252by_.bkp tag=TAG20131202T211658 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:05

Finished backup at 02-DEC-13

2.创建表

SQL> create table t1(id int,name varchar2(20));



Table created.



SQL> insert into t1 values(1,'first');



1 row created.



SQL> commit;



SQL> insert into t1 values(2,'second');



1 row created.



SQL> commit;



Commit complete.



SQL> alter system switch logfile;



System altered.



SQL> select * from t1;



    ID NAME

---------- --------------------

     1 first

     2 second

3.查询当前系统时间

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;



TO_CHAR(SYSDATE,'YY

-------------------

2013-12-02 21:41:55

 

4.删除表,关闭数据库,重启数据库

SQL> drop table t1;



Table dropped.



SQL> shutdown immediate     

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.



Total System Global Area  599785472 bytes

Fixed Size            2022632 bytes

Variable Size          243270424 bytes

Database Buffers      352321536 bytes

Redo Buffers            2170880 bytes

Database mounted.

SQL> select status from v$instance;



STATUS

------------

MOUNTED

5.rman恢复

RMAN> run{

2> allocate channel c1 type disk;

3> set until time "to_date('2013-12-02 21:41:55','yyyy-mm-dd hh24:mi:ss')";

4> restore database;

5> recover database;

6> sql 'alter database open resetlogs';

7> }



allocated channel: c1

channel c1: sid=155 devtype=DISK



executing command: SET until clause



Starting restore at 02-DEC-13



channel c1: starting datafile backupset restore

channel c1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/system01.dbf

restoring datafile 00002 to /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/undotbs01.dbf

restoring datafile 00003 to /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/sysaux01.dbf

restoring datafile 00004 to /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/users01.dbf

restoring datafile 00006 to /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/yn.dbf

channel c1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_nnnd0_TAG20131202T211658_99s22c7o_.bkp

channel c1: restored backup piece 1

piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_nnnd0_TAG20131202T211658_99s22c7o_.bkp tag=TAG20131202T211658

channel c1: restore complete, elapsed time: 00:00:45

Finished restore at 02-DEC-13



Starting recover at 02-DEC-13



starting media recovery



archive log thread 1 sequence 56 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_56_99s2jvny_.arc

archive log thread 1 sequence 57 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_57_99s2lpbk_.arc

archive log thread 1 sequence 58 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_58_99s3d5ph_.arc

archive log thread 1 sequence 1 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_1_99s3j6fg_.arc

archive log filename=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_56_99s2jvny_.arc thread=1 sequence=56

archive log filename=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_57_99s2lpbk_.arc thread=1 sequence=57

archive log filename=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2013_12_02/o1_mf_1_58_99s3d5ph_.arc thread=1 sequence=58

media recovery complete, elapsed time: 00:00:02

Finished recover at 02-DEC-13



sql statement: alter database open resetlogs

released channel: c1



RMAN>    

 

6.查询被删除的数据

SQL> select * from t1;



    ID NAME

---------- --------------------

     1 first

     2 second



SQL> 

 

7.重新备份数据库

   在生产环境中,不完全恢复后,是要用rman重新备份的。因为该备份是以后数据恢复的一个起点。

 

你可能感兴趣的:(oracle)