Win环境下Oracle小数据量数据库的物理备份
2017-07-09 10:04 AlfredZhao 阅读(724) 评论(1) 编辑 收藏 举报Win环境下Oracle小数据量数据库的物理备份
环境:Windows + Oracle 单实例
数据量:小于20G
重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上。
1.开启归档模式
此步骤需要停库,需提前申请停机时间(10分钟),正常关闭数据库,在mount状态下设置数据库为归档模式,再打开数据库。--正常关闭数据库之后,启动数据库到mount状态,开启数据库归档
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> archive log list
2.制定备份策略
备份策略:每天0点对数据库进行完全备份,保留最近5次的备份(可根据实际情况选择不同的冗余度,建议设置大于2的数值)。 假设规划的备份文件存放路径是E:/hotback/myoracle/ (强烈建议备份文件有单独的存储,防止存储单点故障时备份文件亦不可用) 备份脚本所在目录是 D:/rman_scripts/RMAN备份脚本文件 D:/rman_scripts/rman_backup.txt,
实现功能:备份整个数据库和归档,并删除已经备份成功的归档,最后删除已经超过备份保留策略的历史备份。
RMAN脚本内容如下:
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
run {
allocate channel c1 type disk;
backup database format 'E:/hotback/myoracle/db_%d_%T_%s_%p.bak' plus archivelog delete all input format 'E:/hotback/myoracle/arch_%d_%T_%s_%p.bak';
release channel c1;
}
delete noprompt obsolete;
exit
批处理脚本文件 D:/rman_scripts/rman_backup.bat,
要求备份完成后会在指定目录下生成 rman_backup_20170707.log 这种格式的log 文件。
批处理脚本内容如下:
rman target sys/oracle@mcdull nocatalog CMDFILE 'd:/rman_scripts/rman_backup.txt' LOG 'd:/rman_scripts/rman_backup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log'
最后把rman_backup.bat这个批处理文件添加到windows的计划任务里,设置为每天晚上0点定时执行就可以了。
至此,已完成Win环境下Oracle小数据量数据库的物理备份。
当然,如果数据量比较大,进行备份方案设定时则需要额外考虑评估:每次全备的时间间隔,是否启用多个备份通道,是否需要启用增量备份,是否需要对备份压缩等等。
此外,关于Oracle RMAN物理备份方面,还可以参考之前的一些文章:
AlfredZhao©版权所有「从Oracle起航,领略精彩的IT技术。」