您的位置:首页 > 数据库 > Oracle

windows平台下Oracle自动备份脚本

2010-09-27 14:08 549 查看
因数据安全需要,要求每天定时对Oracle数据库中的业务数据进行备份,我参照相关资料编写了一下脚本:

 

    @echo off
    REM # Windows Server2000 Oracle数据库自动备份批处理脚本

 

    REM 取得当前日期和时间,可能因操作系统不同而取值不同
    set CURDATE=%date:~0,4%%date:~5,2%%date:~8,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=CMDB

    set USER=CMDB

    set PASSWORD=CMDB
    set PREFIX=OWNER

 

    REM 创建备份用目录,目录结构为backup/YYYYMMDD/
    if not exist "%CURDATE%"     mkdir %CURDATE%

    set CURDIR=%CURDATE%
    set FILENAME=%CURDIR%/%PREFIX%_%CURDATE%_%CURTIME%.DMP
    set EXPLOG=%CURDIR%/%PREFIX%_%CURDATE%_%CURTIME%_log.log

   

     REM 调用ORACLE的exp命令导出用户数据
     exp %USER%/%PASSWORD%@orcl file=d:Oracle_backup/%FILENAME% log=%EXPLOG% owner=%OWNER%      

     grants=n
     exit

   

     以上脚本若要正常工作还必须与Windows中的“任务计划”配合,设定每天该任务执行的时间,从而实现定时备份数据的目的。

      若执行该任务的机器非Oracle数据库的安装机器,则还需要在本机安装一个Oracle客户端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息