日常习惯使用netbackup进行数据库备份,但是经常环境中无netbackup,因此的自己写个脚本,脚本很简单,主要是写费时间,因此贴出来以备后用:
全备:
猫arch_rman_backup。承宪:
源/home/oracle/.bash_profile
rman目标/日志=/u01/应用程序/脚本/arch_rman.log<& lt; EOF
运行
{
分配渠道ch2设备类型磁盘;
分配渠道ch3设备类型磁盘;
sql的改变当前系统归档日志;
#备份数据库格式'/备份/db_ % d_ % T_ % U '识别;
sql改变当前系统归档日志的;
备份archivelog所有格式'/备份/arch_ % U_ % d_ % T_ %识别t '删除所有输入;
备份当前controlfile格式'/备份/ctl_ % U_ % d_ % T_ % t '识别;
反复核对备份;
反复核对archivelog;
删除noprompt过期备份;
删除noprompt过时;
#删除noprompt备份的数据库之前完成“sysdate 7”;
#删除noprompt archivelog;
#删除noprompt备份archivelog之前完成所有“sysdate 7”;
发布渠道ch2;
发布渠道ch3;
}
EOF
归档日志备份:
猫arch_rman_backup美元。sh
源/home/oracle/.bash_profile
rman目标/日志=/u01/应用程序/脚本/arch_rman.log<& lt; EOF
运行
{
分配渠道ch2设备类型磁盘;
分配渠道ch3设备类型磁盘;
sql的改变当前系统归档日志;
#备份数据库格式'/备份/db_ % d_ % T_ % U '识别;
sql改变当前系统归档日志的;
备份archivelog所有格式'/备份/arch_ % U_ % d_ % T_ %识别t '删除所有输入;
备份当前controlfile格式'/备份/ctl_ % U_ % d_ % T_ % t '识别;
反复核对备份;
反复核对archivelog;
删除noprompt过期备份;
删除noprompt过时;
#删除noprompt备份的数据库之前完成“sysdate 7”;
#删除noprompt archivelog;
#删除noprompt备份archivelog之前完成所有“sysdate 7”;
发布渠道ch2;
发布渠道ch3;
}
EOF
添加执行权限:
chmod + x/u01/应用程序/脚本/arch_rman_backup。sh
chmod + x/u01/应用程序/脚本/full_rman_backup。sh
设置备份保留策略:
配置保留政策来复苏窗口7天;
添加定时任务:
0 */2 * * */u01/应用程序/脚本/arch_rman_backup。sh
30 1 * * 0/u01/应用程序/脚本/full_rman_backup.sh