数据库的rman必须在归档模式下使用
查看当前的模式archive log list
改变其模式 shutdown immediate
startup mount
alter database archivelog;
alter database open;
archive log list;
设置rman备份环境参数及自动备份控制文件
rman target/
show all;查看所有的配置信息,默认控制文件不备份
configure controlfile autobackup on;
show controlfile autobackup;
测试最简单的全库备份
backup database;
查看备份信息
list backup;
list backup summary;
编写备份脚本
根据备份存储磁盘大小,设置备份冗余数,及进行几次全备
rman target/
configure retention policy to redundancy 10;
规划备份数据库目录 mkdir rmanbackup cd rmanbackup
创建0级全库备份 vi backupfull.sh
export ORACLE_BASE=..
export ORACLE_HOME=..
export ORACLE_SID=...
export PATH=$ORACLE_HOME/bin:$PATH
rman target/ <<EOF
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format
'/u01/app/oracle/rmanbackup/db0_%d_%T_%s' database include curent
controlfile;
delete noprompt obsolete 废弃
release channel c1;
}
<< EOF
创建1级增量备份脚本
同上改变level 0为level 1 tag='db1'
在Linux下添加计划任务 crontab -e
0 1 * * 0 /rmanbackup/backupfull.sh >>/tmp/backupfull.log
0 1 * * 3 /rmanbackup/backupfull.sh >>/tmp/backupfull.log
30 1 * * 1-2 /rmanbackup/incrl.sh >>/tmp/inc1.log
30 1 * * 4-6 /rmanbackup/incr1.sh >>/tmp/inc1.log
周日和周三凌晨1:00执行0级全库备份,周一,二,四,五,六凌晨1:30执行1级增量备份
crontab -l