说明
学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩。
步骤
-
建一个文本文件,添加以下内容,后缀名修改为 .bat
:: 代码页更改为Unicode(UTF-8) chcp 65001 @echo off : "===============开始导出数据库文件以及日志文件===============" :: 使用exp方式导出 exp system/[email protected]:1521/orcl file=G:\backup\orcl_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=G:\backup\orcl_%date:~0,4%%date:~5,2%%date:~8,2%.log @echo : "===============开始压缩导出的数据库文件以及日志文件===============" :: 这里用的是Bandizip压缩工具的命令,其他压缩工具命令可能不一样 D:\Bandizip\Bandizip.exe c "G:\backup\%date% %time:~0,2%时%time:~3,2%分.zip" "G:\backup\orcl_%date:~0,4%%date:~5,2%%date:~8,2%.dmp" "G:\backup\orcl_%date:~0,4%%date:~5,2%%date:~8,2%.log" @echo : "===============开始删除导出的数据库文件以及日志文件===============" del G:\backup\*.dmp del G:\backup\*.log @echo "===============自动备份完成===============" :: 遍历指定文件夹与指定文件格式的文件,并最后修改日期在30日以外的文件,进行删除 forfiles /p "G:\backup" /s /m *.zip /d -30 /c "cmd /c del @path" :: 仅用于延迟关闭窗口 30 = 30秒 ping 127.1 -n 30>nul @exit
-
测试文件效果
-
利用系统的计划和程序定时执行
控制面板 --> 系统和安全 --> 计划任务
计划任务 --> 任务计划程序 --> 创建基本任务
-
选择离当前时间相近的时间测试是否能够定时备份。测试完再将时间设置为数据库数据变动少的时间。