关于使用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删除。
