欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

window下自动备份数据库成dmp格式的bat写法

程序员文章站 2024-02-18 09:48:58
...

复制下面的命令到一个txt文本文档,然后修改对应的参数为自己需要的参数,一切完成之后,将文件保存为bat格式。 这样每次需要备份的时候只需要双击一下这个bat文件,其他的都不用你了,你只需要静静的等待…… /prepre code_snippet_id=494366 snippet_file_

复制下面的命令到一个txt文本文档,然后修改对应的参数为自己需要的参数,一切完成之后,将文件保存为bat格式。
这样每次需要备份的时候只需要双击一下这个bat文件,其他的都不用你了,你只需要静静的等待……



///下面命令可以直接复制使用
@echo off  
echo 开始
REM ###########################################################  
REM # Windows Server 2003下Oracle数据库自动备份批处理脚本  
REM ###########################################################  
REM 取当前系统时间,可能因操作系统不同而取值不一样  
set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURMON=%date:~0,4%%date:~5,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0  
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
REM 设置所有者、用户名和密码  
set OWNER=xxx(这里写你的数据库服务名)
set USER=xxx(你要备份的数据库对应的某个用户)
set PASSWORD=xxx(对应密码)
REM 创建备份用目录,目录结构为oraclebak/YYYYMMDD/  
if not exist "oraclebak"                     mkdir oraclebak
cd oraclebak
if not exist "%CURMON%"          mkdir %CURMON%
set FILENAME=%CURMON%/%USER%_%CURDATE%_%CURTIME%.DMP  
set EXPLOG=%CURMON%/%USER%_%CURDATE%_%CURTIME%_log.log  
REM 调用ORACLE的exp命令导出用户数据
exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n