oracle資料庫使用rman備份指令碼

記錄每一次錯誤發表於2018-12-27

關於使用rman備份資料庫的指令碼

#!/bin/bash 

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1

export ORACLE_SID=yang1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

backtime=`date +"90%y%m%d%H%M%S"`

$ORACLE_HOME/bin/rman target /   log= /home/oracle/ full_backup_$backtime.log 

<<EOF 

run{

allocate channel c1 device type disk;

allocate channel c2 device type disk;

allocate channel c3 device type disk;

allocate channel c4 device type disk;

sql 'alter system archive log current'; 

backup as compressed backupset full database format '/home/oracle/db_%d_%T_%U'; 

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/rman_back/arch_%d_%T_%s_%p.bak' delete input ;

backup current controlfile format '/home/oracle/rman_back/ctl_%d_%T_%s_%p.bak';

release channel c1;

release channel c2;

release channel c3;

release channel c4;

}

EOF

這個是個shell指令碼

也可以在rman中執行:

allocate channel c1 device type disk;

allocate channel c2 device type disk;

allocate channel c3 device type disk;

allocate channel c4 device type disk;

sql 'alter system archive log current'; 

backup as compressed backupset full database format '/home/oracle/db_%d_%T_%U'; 

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/rman_back/arch_%d_%T_%s_%p.bak'  delete input ;

backup current controlfile format '/home/oracle/rman_back/ctl_%d_%T_%s_%p.bak';

release channel c1;

release channel c2;

release channel c3;

release channel c4;

其中有一點需要說明的是備份archivelog的是否使用 delete input。 delete input的意思就是備份archivelog完成以後將archivelog刪除。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547066/viewspace-2286583/,如需轉載,請註明出處,否則將追究法律責任。

相關文章