1、OracleBackup_expdp版本|oracle.bat文件
还需手动更改的内容如下:
调用格式需改成call %~dp0\OracleBackup 数据库 用户名 密码 文件夹名称
2、【ORACLE语句】创建导出路径.txt文件
还需手动更改的内容如下:
E:\app\Administrator在此路径下还需手动创建dpdata文件夹;
给用户授权读写导出目录sdemis3_t0需改成相对应数据库名称
 
3、OracleBackup_expdp版本|OracleBackup.bat文件
还需手动更改的内容如下:
变量设置模块SRC路径和【ORACLE语句】创建导出路径保持一致;
 
4、需将oracle.bat加到每日计划里面
时间设置为3天执行一次。

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\dpdata\
REM 参数:OracleBackup 数据库 用户名 密码 文件夹名称
REM -----------------------变量设置--------------------------
REM Oracle中设置的DPDATA别名
SET DIRECTORYNAME=dpdata
REM Oracle中设置的DPDATA物理路径(位于ORACLE服务器上)
SET SRC=E:\app\Administrator\dpdata\
REM rar所在的路径
SET RAR=%~dp0rar.exe
REM 本次备份的文件的文件名(不包含后缀)
SET FILE=%2_%date:~,%%date:~,%%date:~,%
REM 指定要保留的天数
SET DaysAgo=
REM 指定要保留的最小文件个数
SET ReserveNum=
REM -----------------------程序开始--------------------------
ECHO 创建存放文件夹
md %SRC%%
ECHO 按日期完整导出EMIS开发数据库
expdp %/%@% directory=%DIRECTORYNAME% dumpfile=%FILE%.dmp schemas=%
ECHO 将导出的数据库进行压缩
%RAR% a -m5 -s -r -ep1 -y -idq %SRC%%\%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%% /s /m *.* /d -%DaysAgo% /c "cmd /c del /f /q /a @path" REM 计算要保留的最小日期
CALL :DateToDays %date:~,% %date:~,% %date:~,% 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') do set /a filenum+=
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=%&SET mm=%&SET dd=%
IF %yy% LSS IF %yy% LSS (SET yy=%yy%) ELSE (SET yy=%yy%)
SET /a dd=%dd%%%,mm=%mm%%%
SET /a z=-mm,z/=,y=yy+-z,m=mm+*z-,j=*m+
SET /a j=j/+dd+y*+y/-y/+y/-
ENDLOCAL&SET %=%j%&GOTO :EOF :DaysToDate %days% yy mm dd
SETLOCAL ENABLEEXTENSIONS
SET /a a=%+,b=*a+,b/=,c=-b*,c/=,c+=a
SET /a d=*c+,d/=,e=-*d,e/=,e+=c,m=*e+,m/=,dd=*m+,dd/=
SET /a dd=-dd+e+,mm=-m/,mm*=,mm+=m+,yy=b*+d-+m/
(IF %mm% LSS SET mm=%mm%)&(IF %dd% LSS SET dd=%dd%)
ENDLOCAL&set %=%yy%&SET %=%mm%&SET %=%dd%&GOTO :EOF
Rar.exe

完整下载  ORACLE数据库EXPDP备份.zip

【备忘录】ORACLE数据库每日计划EXPDP备份的更多相关文章

  1. Oracle数据库导入导出简单备份

    oracle数据库简单备份 方法一: 1.导出 exp c##xmq/pwda@orcl owner=c##xmq file=C:/expdb.dmp buffer=8000 2.导入 2.1.删除原 ...

  2. Oracle数据库文件恢复与备份思路

    怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是困扰着很多人的问题.大家都知道,任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操 ...

  3. mysql数据库和oracle数据库之间互相导入备份

    把从Oracle数据库导出的数据导入到MySql数据库中1. 使用默认的结束符号导入到MySql数据库中:    LOAD DATA LOCAL INFILE 'd:/oracle.txt' IGNO ...

  4. Oracle数据库导入导出(备份还原)

    一.数据库的导出 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中(全库导出) exp system/manager@TEST file=d:\ ...

  5. mysql数据库每日定时自动备份

    使用navicat

  6. Windows Server系统定时任务备份ORACLE数据库

    Windows Server系统定时任务备份ORACLE数据库 一.编辑备份脚本 RMAN备份数据库 1.在备份脚本目录下,创建bat文件db_rman.bat set ORACLE_SID=orcl ...

  7. Oracle 数据库备份实战

    最近公司的客户希望使用oracle数据库,所以我们只好将数据从mysql数据库迁移到oracle数据库,并对oracle数据库制定了一个备份策略,之前虽然对oracle很熟悉,但做备份策略还是第一次, ...

  8. Oracle数据库表的备份和数据表的删除操作

    --Oracle数据库中的表备份: --备份语句:在备份之后就可以将这张表的所有数据源删除了,但是之后有人对这张表的数据进行操作,但是在操作完成之后要记得将数据表恢复 CREATE TABLE DZH ...

  9. oracle数据库的备份与还原(本地及远程操作)

    数据的导出 exp qh/qh@qh  file='d:\backup\qh\qh20060526.dmp'  grants=y  full=n  1 将数据库TEST完全导出,用户名system 密 ...

随机推荐

  1. 【转帖】NET 的一点历史往事:和 Java 的恩怨

    NET 的一点历史往事:和 Java 的恩怨 https://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654068672&idx= ...

  2. Vue里标签嵌套限制问题解决------解析DOM模板时注意事项:

    受到html本身的一些限制,像<ul>.<ol>.<table>.<select>这样的元素里允许包含的元素有限制,而另一些像<option> ...

  3. PAT A1077 Kuchiguse (20)

    晴神书中AC代码 #include <cstdio> #include <cstring> #include <iostream> using namespace ...

  4. python中的类变量和对象变量,以及传值传引用的探究

    http://www.cnblogs.com/gtarcoder/p/5005897.html http://www.cnblogs.com/mexh/p/9967811.html

  5. docker CMD 和 ENTRYPOINT 区别

    昨天用Dockerfile来启动mongodb的集群,启动参数--replSet死活没执行,最后就决定研究一哈cmd和entrypoint.但是上网看了一些资料个人觉得讲的不好,还是没有说出根本的东西 ...

  6. Lua 打印 table (支持双向引用的table)

    网上搜了一下,挺多打印table的方案,基本思路都是一层一层递归遍历table.(我就是参考这种思路做的^_^) 但大部分都不支持双向引用的打印.我所指的双向引用,就是a引用b, b又直接或间接引用a ...

  7. Java EE Servlet相关的两个包

    Servlet in Java EE 在Java EE的规范API中(链接),Servlet相关联的最重要的两个Package为: 1.javax.servlet 包含了一系列接口和类,他们在一个Se ...

  8. javascript——== 和===的区别

    == 等于 === 全等(值和类型) console.log(5==5);//true console.log(5=="5");//true console.log(5===5); ...

  9. C# Reflection exception Method not found

    C# Reflection exception Method not found Ok I figured it out. The server has Microsft .NET 4.0 insta ...

  10. Yali7月集训Contest2 T1 Cube 题解

    题目链接: 连我们都只有纸质题目...话说雅礼集训都是这样的吗... 大意 0维基本图形是一个点 1维基本图形是一条线段 2维基本图形是一个正方形 3维基本图形是一个正方体 4维基本图形是... 求\ ...