RMAN - 常用的备份脚本

0级全库备份脚本

$ vi BackupFull.sh

BackupFull.sh文件的内容为:

# script .:BackupFull.sh

# creater:leon_lan

# date:2012/7/22

# desc: backup full database datafile in archive with rman

# connect database

Export ORACLE_BASE=/u01/app/oracle

Export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

Export ORACLE_SID=oms

Export PATH=$ORACLE_HOME/bin:$PATH

Rman target/ << EOF_RMAN

Run{

       Allocate channel c1 type disk;

       Backup incremental level 0 tag ‘db0’ format

       ‘/u01/app/oracle/RmanBackup/db0_%d_%T_%s’ database include current controlfile;

       Delete noprompt obsolete;

       Release channel c1;

}

#end

1级增量备份脚本

$ vi Incr1.sh

Incr1.sh文件的内容为:

# script .:BackupFull.sh

# creater:leon_lan

# date:2012/7/22

# desc: backup full database datafile in archive with rman

# connect database

Export ORACLE_BASE=/u01/app/oracle

Export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

Export ORACLE_SID=oms

Export PATH=$ORACLE_HOME/bin:$PATH

Rman target/ << EOF_RMAN

Run{

       Allocate channel c1 type disk;

       Backup incremental level 1 tag ‘db1’ format

       ‘/u01/app/oracle/RmanBackup/db1_%d_%T_%s’ database include current controlfile;

       Delete noprompt obsolete;

       Release channel c1;

}

#end

设置自动化执行备份脚本

$ crontab –e

0 1 * * 0 /u01/app/oracle/RmanBackup/BackupFull.sh

>>/u01/app/oracle/RmanBackup/BackupFull.log

0 1 * * 3 /u01/app/oracle/RmanBackup/BackupFull.sh

>>/u01/app/oracle/RmanBackup/BackupFull.log

30 1 * * 1-2 /u01/app/oracle/RmanBackup/Incr1.sh

>>/u01/app/oracle/RmanBackup/Incr.log

30 1 * * 4-6 /u01/app/oracle/RmanBackup/Incr1.sh

>>/u01/app/oracle/RmanBackup/Incr.log

上面的内容的意思是周日和周三凌晨1:00执行0级全库备份,周一、二、四、五六凌晨1:30执行1级增量备份。

posted @ 2012-08-12 11:14  南宫元耘  阅读(10528)  评论(0编辑  收藏  举报