oracle:rman恢復----通過增量備份來恢復


   試驗計划:先rman進行一個0級備份,插入表相關數據,再進行level 1級增量備份,進行rman恢復

實驗環境:歸檔模式下,oracle10.2.0.1

 

開始試驗:

1. rman level 0級備份

RMAN> backup incremental level 0 database;

Starting backup at 02-DEC-13
using channel ORA_DISK_1
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_TAG20131202T222739_99s66wc3_.bkp tag=TAG20131202T222739 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:06
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_TAG20131202T222739_99s6bvm4_.bkp tag=TAG20131202T222739 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 02-DEC-13

 

2.插入相關表數據

SQL> select * from t1;

    ID NAME
---------- --------------------
     1 first
     2 second

SQL> insert into t1 values(3,'rman3');

1 row created.

SQL> commit;

Commit complete.

SQL> insert into t1 values(4,'rman4');

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> alter system checkpoint;

System altered.

SQL> 

3.rman level  0級備份

RMAN> backup incremental level 1 database;

Starting backup at 02-DEC-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental level 1 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_nnnd1_TAG20131202T223244_99s6jfdz_.bkp tag=TAG20131202T223244 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting incremental level 1 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_ncsn1_TAG20131202T223244_99s6k6o1_.bkp tag=TAG20131202T223244 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 02-DEC-13

RMAN> 

 

4.查看此時的備份文件、關閉數據庫、重啟數據庫

[root@app 2013_12_02]# ll
?昏. 649132
-rw-r----- 1 oracle oinstall   7176192 12-02 22:29 o1_mf_ncsn0_TAG20131202T222739_99s6bvm4_.bkp
-rw-r----- 1 oracle oinstall   7176192 12-02 22:33 o1_mf_ncsn1_TAG20131202T223244_99s6k6o1_.bkp
-rw-r----- 1 oracle oinstall 649576448 12-02 22:29 o1_mf_nnnd0_TAG20131202T222739_99s66wc3_.bkp
-rw-r----- 1 oracle oinstall    114688 12-02 22:33 o1_mf_nnnd1_TAG20131202T223244_99s6jfdz_.bkp
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          251659032 bytes
Database Buffers      343932928 bytes
Redo Buffers            2170880 bytes
Database mounted.

 

5.rman恢復

RMAN> run {
2> allocate channel c1 type disk;
3> restore database;
4> recover database;
5> sql 'alter database open';
6> }

allocated channel: c1
channel c1: sid=156 devtype=DISK

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_TAG20131202T222739_99s66wc3_.bkp
channel c1: restored backup piece 1
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_nnnd0_TAG20131202T222739_99s66wc3_.bkp tag=TAG20131202T222739
channel c1: restore complete, elapsed time: 00:00:25
Finished restore at 02-DEC-13

Starting recover at 02-DEC-13
channel c1: starting incremental datafile backupset restore
channel c1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/system01.dbf
destination for restore of datafile 00002: /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/undotbs01.dbf
destination for restore of datafile 00003: /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/sysaux01.dbf
destination for restore of datafile 00004: /u01/app/oracle/product/10.2.0/db_2/oradata/orcl/users01.dbf
destination for restore of datafile 00006: /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_nnnd1_TAG20131202T223244_99s6jfdz_.bkp
channel c1: restored backup piece 1
piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2013_12_02/o1_mf_nnnd1_TAG20131202T223244_99s6jfdz_.bkp tag=TAG20131202T223244
channel c1: restore complete, elapsed time: 00:00:01

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

Finished recover at 02-DEC-13

sql statement: alter database open
released channel: c1

RMAN> 

 

6.查詢數據

[oracle@app ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Dec 2 22:52:49 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> select * from t1;
    id  name
---------------------
1 first
2 second
3 rman3
4 rman4

 

 這里說一個我在進行此試驗時,遇到的一個另外問題:

   level 1級備份操作后,進行了drop table t1;我以為利用 level  0+level  1 恢復時,rman只恢復到我level  1備份處,t1表的4條數據還是存在的。

 

但,當我這樣操作后,進行select × from t1 查詢時,發現提示該表不存在。

 

后來仔細想了想,當我利用recover database時,數據庫會自動讀取redo或者歸檔文件來進行drop table t1操作的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM