1. 程式人生 > >RMAN 備份

RMAN 備份

rman

1、RMAN執行脫機-全部-完整備份

RMAN> run {

2> shutdown immediate;

3> startup mount;

4> allocate channel d1 type disk;

5> backup as backupset database format '/oraclebk/offline_full_whole.bak';

6> alter database open;

7> }


2、RMAN腳本

#腳本offline_full_whole.rman內容:

run {

shutdown immediate;

startup mount;

allocate channel d1 type disk;

backup as backupset database format '/oraclebk/offline_full_whole_%T_%U.bak';

alter database open;

}

#執行RMAN腳本

su - oracle

rman target / @offline_full_whole.rman


3、RMAN執行在線-全部-完整備份

run {

allocate channel t1 type disk;

backup as compressed backupset filesperset 4 database format '/oraclebk/online_full_whole_%T_%U.bak';

}


4、增量備份

backup incremental level 0 database;

backup incremental level 1 database;

註:做增量備份的前提,是需要一個基準備份,所有的增量都是針對這個基準來說的。要不然,增量備份無從談起。增量備份使用INCREMENTAL LEVEL=integer關鍵字指定。integer可以是0到4之間的任意整數。必須將0 級備份作為增量策略的基礎備份。0 級增量備份在內容上與完全備份相同,但與完全備份不同的是,0 級備份被看作是增量策略的一部分。如果在運行1 級或更高級別的備份時,0 級備份不存在,RMAN 會自動制作0 級備份。


5、查看RMAN配置信息

show all;


6、非歸檔模式下還原數據庫

run {

shutdown abort;

startup mount;

restore database;

alter database open resetlogs;

}


7、沖刷高速緩沖區

alter system flush buffer_cache;


8、不完整恢復

run {

shutdown immediate;

startup mount;

set until time = "to_date('26-12-17 15:20:00','dd-mm-yy hh24:mi:ss')";

restore database;

recover database;

alter database open resetlogs;

}


9、RMAN恢復報一下錯誤

RMAN> restore database;


Starting restore at 26-DEC-17

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 00001 to /u01/app/oracle/oradata/orcl/system01.dbf

channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf

channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf

channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf

channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/example01.dbf

channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2017_12_26/o1_mf_nnndf_TAG20171226T170208_f4440jv1_.bkp

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of restore command at 12/26/2017 17:03:30

ORA-19870: error while restoring backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2017_12_26/o1_mf_nnndf_TAG20171226T170208_f4440jv1_.bkp

ORA-19573: cannot obtain exclusive enqueue for datafile 1


處理方法:

SQL> shutdown immediate;

SQL> startup mount;


註意:使用RMAN恢復時需要將數據庫啟動到mount狀態


RMAN 備份