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 備份