摘要:关于下全量备份的文章,很多网站都有,写下本文不过是为了以后方便查找,不用再到处找。自动删除天前的备份。以格式取出当前时间。设置用户名密码和要备份的数据库创建备份目录删除天前的备份。
关于Windows下oracle全量备份的文章,很多网站都有,写下本文不过是为了以后方便查找,不用再到处找。
以下些许内容有所参考到其他人所写内容,这里无意冒犯,本文引用内容部分会附上参考地址,还望原作者见谅。
备份脚本
新建txt文档,把脚本复制进去后改文件格式为bat文件,双击运行即可测试该脚本是否有误。
这里要说明一下,开始把脚本拿过来执行时,一直未能成功备份数据库
用bat的pause暂停调试发现了一些问题,有时不注意可能会在定义的变量如BACKUPDATE、USER等后面带了空格
这个时候问题就来了,导致参数的不正确,所以这里需注意!
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo 1. 使用当前日期命名备份文件。 echo 2. 自动删除7天前的备份。 echo ================================================ echo 以“YYYYMMDD”格式取出当前时间。 set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% echo 设置用户名、密码和要备份的数据库 set USER=ora_user set PASSWORD=ora_name set DATABASE=conn_db echo 创建备份目录 if not exist "E:ackupdata" mkdir E:ackupdata if not exist "E:ackuplog" mkdir E:ackuplog set DATADIR=E:ackupdata set LOGDIR=E:ackuplog exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%data_%BACKUPDATE%.dmp log=%LOGDIR%log_%BACKUPDATE%.log echo 删除7天前的备份。 forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path" forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path" exit
注:该脚本参考Windows环境下Oracle数据库的自动备份脚本
定时任务
这里需要用到Windows的【任务计划程序】,操作按照下列截图一一操作。
一、快捷查询: