`
dzxiang
  • 浏览: 35935 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle自动备份脚本

阅读更多
REM #####################################
REM # 数据库自动备份脚本
REM #####################################

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

REM 创建备份用目录,目录结构为backup/YYYYMMDD/HH/
if not exist "backup" 			mkdir backup
if not exist "backup\%CURDATE%\" 		mkdir backup\%CURDATE%\
if not exist "backup\%CURDATE%\%CURTIME%"	mkdir backup\%CURDATE%\%CURTIME%
set CURDIR=backup\%CURDATE%\%CURTIME%
set FILENAME=%CURDIR%\BAK

REM 调用ORACLE的exp命令导出用户数据
exp user/pwd@ORCL_192.168.1.1 file=%FILENAME% log=%FILENAME% owner=user
exit


以上脚本配合windows的“任务计划”,可以实现定时导出指定用户的数据,从而达到备份的目的。
注:
  • 需要在备份用的机器上安装Oracle Client;
  • 以上脚本在Windows Server 2003上测试通过;
  • 可以设定多个“任务计划”,在系统较空闲(通常为下班时间)时执行,本脚本将按备份小时数(HH)分目录;
  • 在脚本执行N天以后,您用于存储的硬盘空间可能不够了吧! 可以在“任务计划”中添加以下脚本,每天清理过期目录:

REM =============================================================
REM 删除超过指定期限的目录(目录结构必须为:backup\YYYYMMDD\),
REM 其中YYYYMMDD为以年月日命名的目录,
REM 该脚本将自动删除超过指定期限的YYYYMMDD目录
REM =============================================================

ECHO OFF

REM 设定期限
set DELAY_DAY=-30

echo wscript.echo dateadd("d",%DELAY_DAY%,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k

REM if %m% LSS 9 set m=0%m%
REM if %d% LSS 9 set d=0%d%

if "%m%"=="0" set m=00
if "%m%"=="1" set m=01
if "%m%"=="2" set m=02
if "%m%"=="3" set m=03
if "%m%"=="4" set m=04
if "%m%"=="5" set m=05
if "%m%"=="6" set m=06
if "%m%"=="7" set m=07
if "%m%"=="8" set m=08
if "%m%"=="9" set m=09

if "%d%"=="0" set d=00
if "%d%"=="1" set d=01
if "%d%"=="2" set d=02
if "%d%"=="3" set d=03
if "%d%"=="4" set d=04
if "%d%"=="5" set d=05
if "%d%"=="6" set d=06
if "%d%"=="7" set d=07
if "%d%"=="8" set d=08
if "%d%"=="9" set d=09

set LASTDATE=%y%%m%%d%
set OLDDIR=backup\%LASTDATE%

echo start del dir \%OLDDIR%...
rd/s/q %OLDDIR%

exit


分享到:
评论
1 楼 dzxiang 2008-10-24  
沙发,测试! 

相关推荐

    oracle自动备份脚本

    本文将围绕“Oracle自动备份脚本”这一主题,深入探讨如何利用脚本实现Oracle数据库的自动备份,确保数据的安全与可恢复性。 ### Oracle自动备份脚本的重要性 在日常运营中,数据的丢失或损坏可能对企业造成不可...

    Linux oracle 自动备份脚本

    ### Linux Oracle自动备份脚本详解 #### 背景与目的 在企业级数据库管理中,数据的安全性和可靠性至关重要。Oracle作为一款广泛使用的数据库管理系统,其数据备份的重要性不言而喻。通过设置自动化的备份机制可以...

    oracle自动备份脚本的

    本文将围绕“Oracle自动备份脚本”这一主题,详细讲解如何利用脚本来实现Oracle数据库的定时备份。 首先,我们要理解标题中的“Oracle自动备份脚本”。这通常指的是一个批处理脚本,它包含了执行Oracle数据库备份的...

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

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

    linux 下的 oracle 自动备份脚本

    linux 下的 oracle 自动备份脚本

    oracle数据库自动备份脚本

    对于生产环境,通常需要对数据库执行有定时备份操作,好方便数据库出现异常问题的数据恢复,提高数据库的安全性,这里提供linux服务器下详细操作脚本,供大家参阅

    ORACLE自动备份脚本

    用于ORACLE自动备份用,必须先安装7Z压缩软件才能使用。

    oracle 数据库自动备份脚本

    实现oracle 数据库自动备份+保留最新的7天数据+另一机器拷贝备份的脚本

    Oracle数据库自动备份脚本FOR WIN.rar

    "Oracle数据库自动备份脚本FOR WIN.rar" 是一个针对Windows环境设计的自动化备份解决方案,它使得Oracle数据库的备份过程更加简便和可靠。 这个脚本主要有以下三个特点: 1. **动态日期命名**:备份导出文件时,...

    Oracle数据库RMAN的自动备份脚本

    ### Oracle数据库RMAN的自动备份脚本知识点解析 在企业级数据库管理中,备份与恢复是确保数据安全的重要环节之一。本文将详细解读一个Oracle数据库RMAN(Recovery Manager)的自动备份脚本,该脚本适用于Linux环境...

    oracle数据库自动备份脚本带说明

    "oracle数据库自动备份脚本带说明"的标题表明这是一个关于如何自动化执行Oracle数据库备份的脚本,这对于系统管理员来说是非常实用的工具。下面我们将详细探讨Oracle数据库的备份策略、自动备份脚本的工作原理以及...

Global site tag (gtag.js) - Google Analytics