【备忘录】ORACLE数据库每日计划EXPDP备份
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备份的更多相关文章
- Oracle数据库导入导出简单备份
oracle数据库简单备份 方法一: 1.导出 exp c##xmq/pwda@orcl owner=c##xmq file=C:/expdb.dmp buffer=8000 2.导入 2.1.删除原 ...
- Oracle数据库文件恢复与备份思路
怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是困扰着很多人的问题.大家都知道,任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操 ...
- mysql数据库和oracle数据库之间互相导入备份
把从Oracle数据库导出的数据导入到MySql数据库中1. 使用默认的结束符号导入到MySql数据库中: LOAD DATA LOCAL INFILE 'd:/oracle.txt' IGNO ...
- Oracle数据库导入导出(备份还原)
一.数据库的导出 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中(全库导出) exp system/manager@TEST file=d:\ ...
- mysql数据库每日定时自动备份
使用navicat
- Windows Server系统定时任务备份ORACLE数据库
Windows Server系统定时任务备份ORACLE数据库 一.编辑备份脚本 RMAN备份数据库 1.在备份脚本目录下,创建bat文件db_rman.bat set ORACLE_SID=orcl ...
- Oracle 数据库备份实战
最近公司的客户希望使用oracle数据库,所以我们只好将数据从mysql数据库迁移到oracle数据库,并对oracle数据库制定了一个备份策略,之前虽然对oracle很熟悉,但做备份策略还是第一次, ...
- Oracle数据库表的备份和数据表的删除操作
--Oracle数据库中的表备份: --备份语句:在备份之后就可以将这张表的所有数据源删除了,但是之后有人对这张表的数据进行操作,但是在操作完成之后要记得将数据表恢复 CREATE TABLE DZH ...
- oracle数据库的备份与还原(本地及远程操作)
数据的导出 exp qh/qh@qh file='d:\backup\qh\qh20060526.dmp' grants=y full=n 1 将数据库TEST完全导出,用户名system 密 ...
随机推荐
- [转帖]InfluxDB 1.2.0安装及新旧版本的注意事项
InfluxDB 1.2.0安装及新旧版本的注意事项 http://haibing.org/245?zwlqby=npztq3 挺好的文章 很好的解决了 上一个文档里面 关于 web admin 的问 ...
- GIL全局解释器
' GIL是一个互斥锁:保证数据的安全(以牺牲效率来换取数据的安全) 阻止同一个进程内多个线程同时执行(不能并行但是能够实现并发) 并发:看起来像同时进行的 GIL全局解释器存在的原因是因为CPyth ...
- 如何给django admin.py配置超级管理员?注册表格?
admin.py是django给我们提供的功能非常强大的后台,况且支持拓展,,如果你要是觉得admin的后台不够牛逼你可以自己写一个!如何自己写一个后台,后面我有时间了会给大家更新!一起学习!一起进步 ...
- python-面向对象速查表-内置方法-内置函数-内置属性(只整理了部分内容)
今日临时总结的内容,可能还有些不正确的地方,初步当做个速查表吧. 类的内置函数(继承object的,自己重写) 内置函数 执行时机 注意点 调用案例 __init__ 实例化对象时 不允许写返回值(r ...
- fio安装使用
# wget http://brick.kernel.dk/snaps/fio-2.2.5.tar.gz # tar xvf fio-2.2.5.tar.gz# cd fio-2.2.5# ./con ...
- Vasya and Endless Credits CodeForces - 1107F (二分图完美匹配)
大意: n中贷款, 每种只能买一次, 第$i$种给$a_i$元, 要还款$k_i$个月, 每个月底还$b_i$元. 每个月可以在月初申请一种贷. 求某一时刻能得到的最大钱数.
- MySQL的简介、启动及其DDL
MySQL的各项配置: 默认会启用TCP/IP网络: 默认客户端/服务器端口:3306: 将数据库的BIN目录写入Windows的的path环境变量: 默认不允许root用户在其他机器上远程登录: M ...
- 《深入实践C++模板编程》之六——标准库中的容器
1.容器的基本要求 a.并非所有的数据都可以放进容器当中.各种容器模板对所存数据类型都有一个基本要求——可复制构造.将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程. b ...
- Ubuntu系统开机后不能正常使用——问题解决记录
1.开机后桌面内容没了,搜狗输入法不能使用了,终端不能打开了 问题原因:上次关机前为了解决解压文件中文乱码问题,在/etc/profile末尾加了如下两行:(但事实上如下两行根本不能解决中文乱码问题) ...
- 反射获取config实体类属性并赋值
/// <summary> /// 将实体类存入config /// </summary> /// <param name="enity">&l ...