Win环境下Oracle小数据量数据库的物理备份

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物理备份方面,还可以参考之前的一些文章:

上一篇:[视频]K8飞刀 mysql注入点拿shell & UDF提权教程


下一篇:ERP反馈信息管理(十九)