oracle数据库使用rman备份脚本
关于使用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
< 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删除。