■ 福建 张冬
编者按:根据实际工作经验,笔者总结出一套利用脚本实现数据库备份的方法,以供参考。
笔者所在部门有一台Oracle数据库服务器,其中存储了历年宝贵数据,而且数据每日增长。但是条件所限,没有为其购置专用的备份软件。
作为数据库管理员,手工编写备份脚本,利用有限的软硬件实现了数据库的双机备份。
数据库服务器及备份主机系统环境均为:Windows server 2008 R2;Oracle11g
两台服务器中都有大的存储空间。
数据库服务器本机备份策略:每天中午12点发起完全备份。具体实现:
1.编写脚本Dump_oracle.bat内容如下:
Exp system/melinetsfile='e:oracle_backup\%date:~0,10%.dmp'log='e:oracle_backup\%date:~0,10%.log'full=y
图1 作业添加窗口
命令行下进行测试,成功。
2.在任务计划程序中进行作业添加,如图1所示。
备份机备份策略:每天晚上22点进行完全备份。具体实现:
1.编写脚本Dump_oracle.bat内容如下:
exp system/Oracle@oracle full=y file='Z:dump_oracle\%date:~0,10%.dmp'log='Z:dump_oracle\%date:~0,10%.log'
命令行下进行测试,提示失败:
EXP-00028:无法打开Z:dump_oracle2018-10-17.log进行写入
EXP-00000:导出终止失败
查找备份失败的原因,发现Z盘为网络共享硬盘,将备份脚本中的本地硬盘更改为网络共享名:
expsystem/Oracle@oracle full=y file='\sharepartdump_oracle\%date:~0,10%.dmp'log='\sharepartdump_oracle \%date:~0,10%.log'
命令行下进行测试,成功!
2.配置计划任务。