windows下oracle数据库自动备份脚本-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

windows下oracle数据库自动备份脚本

简介:

1、根据日期自动生成 Oracle 备份文件

@echo off  

echo 正在备份Oracle数据库,请稍等......  

exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res  

echo 任务完成!



2、根据日期时间分秒自动生成 Oracle 备份文件

@echo off  

echo 正在备份Oracle数据库,请稍等......  

exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.log

echo 任务完成!


3、用exit结尾备份完后自动退出:

@echo off   

echo ================================================   

echo  Windows环境下Oracle数据库的自动备份脚本  

echo  1. 使用当前日期命名备份文件。  

echo  2. 自动删除7天前的备份。  

echo ================================================  


::以“YYYYMMDD”格式取出当前时间。  

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

::创建备份目录。  

if not exist "D:\backup\data"    mkdir D:\backup\data  

if not exist "D:\backup\log"     mkdir D:\backup\log  

set DATADIR=D:\backup\data


set LOGDIR=D:\backup\log

exp userid='用户名/密码@SID'  file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log  

::删除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


注:如果有时我们写bat脚本执行时一闪而过,无法排错;那么我可以在脚本的最后加个pause(如上面的脚本可以把exit换成pause),用pause结尾执行完后,会提示按任意键来继续或退出,这样我就能知道是什么报错。



      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1573848,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章