【备忘录】ORACLE数据库每日计划EXPDP备份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【备忘录】ORACLE数据库每日计划EXPDP备份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3281字,纯文字阅读大概需要5分钟。
内容图文
![【备忘录】ORACLE数据库每日计划EXPDP备份](/upload/InfoBanner/zyjiaocheng/1088/78177c44db304affb18c5a68ce6ecfe1.jpg)
oracle.bat
@ECHO OFF REM 调用格式:call %~dp0\OracleBackup 数据库 用户名 密码 文件夹名称 ECHO ---------------------------- ECHO 服务器:XXX.XXX.X.X ECHO ---------------------------- ECHO. ECHO --XXX: ECHO. ECHO XXX:用户名 密码 call %~dp0\OracleBackup 数据库 用户名 密码 文件夹名称 ECHO.
OracleBackup.bat
@ECHO OFF REM EMIS4开发数据库备份脚本,建议每周执行两次 REM !!!用户应当具备expdp导出的权限 REM !!!使用expdp方式导出,使用directory=dpdata,映射到数据库服务器上的E:\app\Administrator\dpdataREM 参数:OracleBackup 数据库 用户名 密码 文件夹名称 REM -----------------------变量设置-------------------------- REM Oracle中设置的DPDATA别名 SET DIRECTORYNAME=dpdata REM Oracle中设置的DPDATA物理路径(位于ORACLE服务器上) SET SRC=E:\app\Administrator\dpdataREM rar所在的路径 SET RAR=%~dp0rar.exe REM 本次备份的文件的文件名(不包含后缀) SET FILE=%2_%date:~0,4%%date:~5,2%%date:~8,2% REM 指定要保留的天数 SET DaysAgo=60 REM 指定要保留的最小文件个数 SET ReserveNum=3 REM -----------------------程序开始-------------------------- ECHO 创建存放文件夹 md %SRC%%4 ECHO 按日期完整导出EMIS开发数据库 expdp %2/%3@%1 directory=%DIRECTORYNAME% dumpfile=%FILE%.dmp schemas=%2 ECHO 将导出的数据库进行压缩 %RAR% a -m5 -s -r -ep1 -y -idq %SRC%%4\%FILE%.rar %SRC%%FILE%.dmp ECHO 删除临时文件,只保留压缩后的数据库包 REM 如果压缩失败,不删除DMP文件 if exist "%SRC%%4\%FILE%.rar" (DEL "%SRC%%FILE%.dmp") REM 如果DMP存在(压缩失败),复制到目标路径 if exist "%SRC%%FILE%.dmp" (MOVE /Y "%SRC%%FILE%.dmp""%SRC%%4\%FILE%.dmp") del %SRC%export.log REM 按文件的修改日期,删除DaysAgo以前的数据(暂时不用) REM forfiles /p %SRC%%4 /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path" REM 计算要保留的最小日期 CALL :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays SET /a PassDays-=%DaysAgo% CALL :DaysToDate %PassDays% DstYear DstMonth DstDay REM 日期格式字符串为yyyyMMdd SET DstDate=%DstYear%%DstMonth%%DstDay% ECHO 将删除日期为 %DstDate% 及以前的数据! SETLOCAL ENABLEDELAYEDEXPANSION ECHO 删除路径中的%DaysAgo%天以前的数据 for /r "%SRC%%4" %%a in (*.*) do ( REM 记录备份文件个数 SET "FileNum=0"for /f "delims=" %%i in (‘dir /B /A-D "%SRC%%4" 2^>nul‘) doset /a filenum+=1 REM 防止备份出问题后,将所有备份文件删完,保留指定个数的备份文件 if !FileNum! leq %ReserveNum% ( ECHO 备份文件个数少于%ReserveNum%个,退出删除! GOTO :EOF ) REM 截取文件名中的日期部分 SET "FileDate=%%a" SET "FileDate=!FileDate:~-12,-4!"if"!FileDate!" leq "%DstDate%" ( if exist "%%a" (DEL /f /q "%%a") ) ) ENDLOCAL GOTO :EOF :DateToDays %yy% %mm% %dd% days SETLOCAL ENABLEEXTENSIONS SET yy=%1&SET mm=%2&SET dd=%3 IF 1%yy% LSS 200 IF 1%yy% LSS 170 (SET yy=20%yy%) ELSE (SET yy=19%yy%) SET /a dd=100%dd%%%100,mm=100%mm%%%100 SET /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2 SET /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633 ENDLOCAL&SET %4=%j%&GOTO :EOF :DaysToDate %days% yy mm dd SETLOCAL ENABLEEXTENSIONS SET /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a SET /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 SET /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10 (IF %mm% LSS 10 SET mm=0%mm%)&(IF %dd% LSS 10 SET dd=0%dd%) ENDLOCAL&set %2=%yy%&SET %3=%mm%&SET %4=%dd%&GOTO :EOF
Rar.exe
完整下载 ORACLE数据库EXPDP备份.zip
原文:https://www.cnblogs.com/haozhenjie819/p/9451873.html
内容总结
以上是互联网集市为您收集整理的【备忘录】ORACLE数据库每日计划EXPDP备份全部内容,希望文章能够帮你解决【备忘录】ORACLE数据库每日计划EXPDP备份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。