【备忘录】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 密 ...
随机推荐
- DOS cscript
C:\>cscript /?Microsoft (R) Windows Script Host Version 5.812版权所有(C) Microsoft Corporation.保留所有权利 ...
- PAT A1011 World Cup Betting(20)
AC代码 #include <cstdio> #include <algorithm> const int max_n = 3; using namespace std; /* ...
- THUSC2016
补退选 Luogu LOJ BZOJ 比较裸. 建一棵Trie树,记录一下每个节点的\(sum\)表示经过该点的字符串个数,每次暴力插入.删除. 同时每个节点维护一个vector,记录一下这个点的\( ...
- Docker——网络和存储(数据卷)
iptables -t nat -vnL |grep docker 查看docker桥接网卡:brctl show 本地端口随机映射到docker容器的80端口上: docker run -d -P ...
- Android MediaPlayer 在 STREAM_ALARM 中播放媒体
最近因为公司需求,要实现后台播放音频,同时广告机中的视频因为客户需求调至静音,不能通过修改系统的媒体音量来让音频发声. private MediaPlayer mediaPlayer; private ...
- GET方法和POST方法的区别,Get方法到底可传递的字符串的最大长度是多少?
GET方法和POST方法的区别,Get方法到底可传递的字符串的最大长度是多少?曾经人介绍,如果使用GET方式传输参数,URL的最大长度是256个字节,对此深信不疑. 但是最近看到一些超长的url,能够 ...
- Oracle连接字符串总结(转)
Oracle XE 标准连接 Oracle XE(或者"Oracle Database 10g Express Edition")是一个简单免费发布的版本. 以下是语法格式: Dr ...
- linux 之内存与磁盘
记录工作中常用操作 1. 新建和增加SWAP分区(都必须用root权限,操作过程应该小心谨慎.) 1)新建分区 .以root身份进入控制台(登录系统),输入 swapoff -a #停止所有的swap ...
- 【vue+axios】一个项目学会前端实现登录拦截
原文链接:github.com 一个项目学会vue全家桶+axios实现登录.拦截.登出功能,以及利用axios的http拦截器拦截请求和响应. 前言 该项目是利用了Github 提供的persona ...
- 对MySQL索引、锁及事务的简单分析
一.索引的数据结构 1.二叉搜索树实现的索引 二叉搜索树如下图,它查找元素的时间复杂度为O(logn) 但如果经常出现增删操作,最后导致二叉搜索树变成线性的二叉树,这样它查找元素的时间复杂度就会变成O ...