引用来自:Oracle 定时备份数据库 - 茄子鱼 - 博客园 (cnblogs.com)
【操作说明】
在前面的博客中,学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩。
【操作步骤】
①建一个文本文件,添加以下内容,后缀名修改为 .bat(根据需要自行修改)
1 @echo off 2 exp {#用户名}/{#密码}@{#数据库名称} file=D:\BACKUP\name_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\BACKUP\name_%date:~0,4%%date:~5,2%%date:~8,2%.log 3 path C:\Program Files (x86)\WinRAR\WinRAR.exe 4 winrar a -agYYYY-MM-DD -DF -m5 D:\BACKUP\name{#压缩包名称}.rar D:\BACKUP\*.dmp D:\BACKUP\*.log 5 forfiles /p "D:\BACKUP" /s /m *.rar /d -30 /c "cmd /c del @path" 6 @exit
第一行:命令开始
第二行:导出的数据库信息,以及导出的数据库名称,可以自行修改,这个文件名会自动带上备份的时间,更多信息参考 (https://www.cnblogs.com/xqz0618/p/oracle_backup.html)
第三行:调用压缩功能(C:\Program Files (x86)\WinRAR)压缩软件的安装位置
第四行:利用第三行的压缩软件的功能,将刚导出的数据库文件压缩成压缩包
第五行:当备份文件超过30个就把备份文件最前的一个压缩包删除,保留文件夹中最多30个压缩包
第六行:命令结束
name_%date:~0,4%%date:~5,2%%date:~8,2%: name可以修改自己的设置的文件名称。后面为时间例:20190730。%date:~0,4% 0表示从0开始,4表示截取的个数。
②按照①的操作,我们可以先来试一下这个文件有没有效果。双击备份文件。我们会看到会弹出一个窗口,和之前导出效果相同