bat命令备份oracle数据库,并且删除7天之前的数据文件

2023-11-18

用批处理命令备份oracle数据库,我是用在windows server 2008 服务器上,并且创建了定时任务,让他7天执行一次.下面贴出代码:

@echo off
echo ================================================ 
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除7天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%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
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
 
::设置用户名、密码和要备份的数据库。
set USER=sjpt
set PASSWORD=sjpt
set DATABASE=orcl
set nls_lang=american_america.al32utf8
::创建备份目录。
if not exist "D:\backup\data\%BACKUPDATE% "     mkdir D:\backup\data\%BACKUPDATE%
if not exist "D:\backup\log\%BACKUPDATE% "      mkdir D:\backup\log\%BACKUPDATE%
set DATADIR=D:\backup\data\%BACKUPDATE%
set LOGDIR=D:\backup\log\%BACKUPDATE%
set DELDATADIR=D:\backup\data
set DELLOGDIR=D:\backup\log
::exp %USER%/%PASSWORD%@%DATABASE%  file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log
echo 数据库文件备份成功,所在目录为: %DATADIR%
echo 正在查找旧备份文件创建时间...
::删除30天前的备份。
::先判断要删除的文件是否存在
for /r %DELDATADIR% %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tc "%%a" ^| find /i "%%~nxa"'
) do (
echo "%%b %%c"
set /a dataCount+=1
)
for /r %DELLOGDIR% %%a in (*) do for /f "tokens=1,2* delims= " %%b in (
'dir /tc "%%a" ^| find /i "%%~nxa"'
) do (
echo "%%b %%c"
set /a logCount+=1
)
if %dataCount% gtr 1 goto beginCleandata
:iscleanlog
if %logCount% gtr 1 goto beginCleanlog
if %dataCount% equ 1 goto end
if %logCount% equ 1 goto end
::删除文件、删除空文件夹
:beginCleandata
forfiles /p "%DELDATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
for /f "tokens=*" %%a in ('dir /b /ad /s "%DELDATADIR%"^|sort /r') do rd "%%a"
goto iscleanlog
:beginCleanlog
forfiles /p "%DELLOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
for /f "tokens=*" %%a in ('dir /b /ad /s "%DELLOGDIR%"^|sort /r') do rd "%%a"
echo 旧备份文件删除成功!
pause
exit
:end
echo 无旧备份文件。
echo 执行成功。
pause


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bat命令备份oracle数据库,并且删除7天之前的数据文件 的相关文章

  • 如何在oracle日志中打印http请求

    我们正在使用以下方式调用外部 URLUTL HTTP方法并设置 HTTP 标头 例如basic authentication keep alive content soap action所以我需要打印我设置为标题的内容 DBMS OUTPU
  • Oracle DB & SQL Developer:“错误报告:执行已完成,但有警告” - 如何*查看*该警告?

    我正在设置一个本地 Oracle 11g 数据库 我们已经运行的另一个数据库的克隆 我正在 SQL Developer 中运行一堆生成的 PL SQL 命令 我得到输出 Error starting at line x in command
  • 无法使用symfony2连接数据库oracle

    我需要的 我需要将oracle数据库与symfony2连接 我已经通过 php m 检查过 oci8 pdo odbc odbc 这是我关注的链接https gist github com johnkary 6481664 https gi
  • 检查行中是否有单调递增的值

    我正在寻找一种方法来检查表中的值是否针对特定的行子集单调递增 该表包含列 id name meas date 和 value 对于具有相同名称的所有行 应按 meas date 对行进行排序 并且需要检查这些排序行的值列是否单调递增 因此
  • 如何使用 oracle SQL 执行线性插值?

    我正在尝试使用 Oracle 11g 开发中为 11 1 生产中为 11 2 进行数值分析 特别是对具有三列感兴趣的表进行线性插值 时间戳 deviceid 和值 值列保存来自设备 具有 ID deviceid 的数据 这些数据是在时间戳中
  • Oracle 11g XE - 突然出现 ORA-01034: ORACLE 不可用且 ORA-27101: 共享内存领域不存在

    Windows 7 32 位笔记本电脑 Oracle 11g XE 的本地实例 首先 在提出问题之前 我自己一直在研究这个问题 虽然有很多参考 建议 但我无法自己解决这个问题 突然 当我尝试登录本地 Oracle 11g XE 爱好者实例时
  • Oracle 触发器创建时出现编译错误,ORA-02289: 序列不存在

    当我使用 PowerDesigner 生成 SQL 并在 Oracle 中运行它时 它会抛出错误 警告 触发器创建时出现编译错误 create trigger tib material classify before insert on m
  • 表与视图的性能

    最近开始使用一个数据库 其中的惯例是为每个表创建一个视图 如果您假设表和视图之间存在一对一的映射 我想知道是否有人可以告诉我这样做对性能的影响 顺便说一句 这是在 Oracle 上的 假设问题是关于非物化视图 实际上取决于视图所基于的查询以
  • 如何找到 Oracle 视图的基础列和表名称?

    这听起来应该很简单 但事实并非如此 我找不到任何 Oracle 元数据 视图可以提供 Oracle 视图列的基础列和表名称 我发现这样做的唯一方法是解析视图源 SQL 这与精确的科学相去甚远 为了解释我想要什么 请考虑我在 SCOTT 模式
  • 从 all_tab_columns 中选择,其中表有 > 0 行

    我需要在大型数据库中搜索与列名匹配的表 但该表必须有超过 0 行 顺便说一句 这是查询 SELECT FROM all tab columns WHERE column name LIKE ID SUPPORT 您可以使用单个查询来过滤名称
  • Oracle DataAccess 相关:“动态程序集中不支持调用的成员。”

    据我了解 此类错误已在 SO 上讨论过多次 有些人认为这是 DLL 文件中的错误 有些人通过更改 DLL 版本来解决 其他人似乎没有任何线索 无论如何 我只是发帖试试运气 在 C GUI 上的网格中选择一行时 我的应用程序崩溃了 stack
  • 如何在没有可用行选择器的情况下为 APEX 21.1 REST 数据源设置数据配置文件

    我正在使用 APEX 21 1 并为 Web 服务创建了一个 REST 数据源 该服务以以下格式返回响应 1499040000000 A time stamp 0 01634790 A value etc 1499040000100 A t
  • Oracle ODP.net 托管驱动程序与非托管驱动程序

    托管和非托管 Oracle ODP Net 驱动程序之间是否存在任何性能基准 即 除了架构 部署简单性之外 迁移到托管驱动程序是否有任何优势 我想分享一些结果 我认为与部署的简便性相比 性能上的小缺陷是值得的 Note seg意味着秒 对于
  • 数百个别名/同义词与数据库表的完全限定名称

    考虑到多个模式中的数百个数据库表 在创建存储过程和视图时 您是否建议使用别名 同义词或完全限定名称 给定一些 schema table 像这样 Orders OrderHeader Production LineThroughput Sal
  • 递归 SQL 给出 ORA-01790

    使用 Oracle 11g 第 2 版 以下查询给出 ORA 01790 表达式必须与相应表达式具有相同的数据类型 with intervals time interval AS select trunc systimestamp from
  • 授予用户在查询时使用表索引的什么?

    我想知道当用户从表中查询数据并且该用户已被授予以下权限时 oracle 是否使用索引 grant select on table to user 我想知道是否需要其他拨款才能使用索引 不 没有要求 或能力 授予对索引的访问权限 如果用户可以
  • Oracle 9i:同义词表不存在?

    我创建了一个包 其中包含一个存储过程 我计划从单独的应用程序调用该存储过程 存储过程将返回架构中所有视图和表的排序列表 为此 它对 DBA TABLES 和 DBA VIEWS 同义词执行简单的选择 如下所示 CREATE OR REPLA
  • TOAD 将 &String 视为绑定变量

    我正在使用 Oracle Data Integrator 开发一些 ETL 有时会使用 TOAD 测试部分代码 今天我遇到了 TOAD 的问题 我有一行像 AND column value like DEV PROD 当我尝试运行包含上面过
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ

随机推荐

  • list的模拟实现

    list的模拟实现 1 创建 链表结点 2 创建 链表迭代器 3 创建 链表 4 测试 模拟实现的list的功能 1 创建 链表结点 namespace JPC 创建 链表结点 template
  • 全国首批城市级5G车联网应用项目落地!

    司机变身 安全员 公交车自主选择车道 避让障碍物和行人 还能接收交通信号灯信息 实现一路畅行 近日 央视综合频道 报道了 聪明车 开上 智慧路 的黑科技 日前 依托苏州良好的车联网产业环境 全国首批城市级5G车联网应用项目落地苏州 中国移动
  • 改善java程序的151个建议 - 读书笔记

    目录 第1章 java开发中通用的方法和准则 1 字母 l 和数字1 字母 o 和数字0易混淆 3 三元操作符的类型务必一致 7 警惕自增陷阱 11 好习惯是显示声明UID 12 Serializable类中的final成员变量的赋值 14
  • 基于开源大模型Vicuna-13B构建私有制库问答系统

    本教程专注在怎么使用已经开源的模型和项目 构建一个可以私有化部署的问答知识库 而且整体效果要有所保障 主要工作包括 选择基础模型 openAI claude 这些商用的 或者其他的开源的 这次我们选择 Vicuna 13B 开源有很多的知识
  • 如何把极坐标化为直角坐标_如何将极坐标转化为直角坐标

    展开全部 极坐标转换为直角坐标 32313133353236313431303231363533e58685e5aeb931333366306532 转化方法及其步骤 第一步 把极坐标方程中的 整理成cos 和sin 的形式 第二步 把co
  • 基础15:npm、yarn、pnpm

    npm2 用 node 版本管理工具把 node 版本降到 4 那 npm 版本就是 2 x 了 执行 npm init npm install express 可以看到node modules目录如下 可以看到 npm2的node mod
  • 深入理解计算机系统(2.3)---整数的表示方式精解》无符号与补码编码(重要)...

    上一章我们简单的介绍了布尔代数以及C语言的位运算 本次我们主要来看 二进制如何表示整数 这是很重要的一章 希望各位猿友莫要错过 C语言中的整数类型及范围 我们依然以C语言为例 C语言当中提供了多种整数类型 一共十种 位数为1 2 4 8 其
  • ShellExecuteEx中与被调进程同步

    在实际的开发中会遇到这样的情况 A进程在运行时 需要调起B进程完成某些工作 例如取回关键文件 且必须等待该进程完成工作结束后才能往下继续 那么这时候 就可以采用ShellExecuteEx和WaitForSingleObject的结合对被调
  • 新媒体运营怎么追热点?这四个技巧一定可以帮到你

    作为一个新媒体运营 热点追不好 冷板凳少不了 热点追得好不但能带来账号的曝光 还能带来良好的涨粉效果 但是很多人都不知道热点到底要怎么追 那么今天就给大家分享一下 追热点4个百试不爽的套路 01 怎样找热点 热点可以分为常规型热点和突发型热
  • R语言——数据排序

    R语言中涉及排序的基本函数有order sort和rank三个 下面看看它们的基本用法 x表示需要排序的数据 decreasing表示是否按降序排序数据 method表示所使用的排序算法 na last表示如何处理NA值 缺失值 若为FAL
  • eclipse中导入idea项目的基本步骤

    eclipse导入idea项目 前段时间有个idea项目 SSM maven 需要导入eclispe运行 最后搞了很久才运行成功 这里整理一下导入项目时需要修改一些配置 第一步 import时建议选择导入Maven项目 选择Maven下的导
  • 在Centos7中搭建http服务器

    一 简介 二 安装 二 编辑配置文件 三 配置主页文件 或者将做好的网站放入根目录 四 配置安全访问规则 五 启动http服务 六 访问测试 七 心得体会 一 简介 Centos7默认的http服务器为Apache Apache HTTP
  • Python提取网页信息并保存

    使用Python爬取网页内容时 获取网页源码文件后使用一系列解析方法提取我们需要的信息 对于提取到的信息怎么保存下来 本文提供常见的两种方法 保存到本地文件或MySQL数据库 保存到本地csv文件 将数据以一定的格式保存到本地csv文件需要
  • 修改cdh6.3.2集群内部弱口令步骤

    在这里插入图片描述 cdh管理页面修改 hive hue oozie 密码 主节点修改 另外修订mysql数据库内密码 首先登陆mysql 具体参考 https blog csdn net weixin 43214644 article d
  • STM32---外部中断

    目录 1 外部中断描述 2 外部中断框图 总结 经过分析框图 可以产生软件中断和事件中断 软件中断的目的是进中断服务函数 事件中断是产生一个脉冲信号给片内外设 属于硬件级别的 3 各寄存器作用 4 端口对应 5 编程思路 EXIT NVIC
  • mysql8.0出现group by报错

    数据库跟目录执行set GLOBAL sql mode STRICT TRANS TABLES NO ZERO IN DATE NO ZERO DATE ERROR FOR DIVISION BY ZERO NO ENGINE SUBSTI
  • Qt 使用笔记 --转自 wangwenx190/Note

    转自 https github com wangwenx190 notes blob master qt zh cn md Qt 使用笔记 Qt 6 目标平台变更 Qt6 不再支持32位Windows系统 不再支持Windows 7 Win
  • pageHelper.startPage(m,n)的用法

    pageHelper startPage m n 的用法 pageHelper startPage m n 是分页查询 PageHelper startPage m n 两个参数 第一个参数是页数 第二个参数是条数 每页查询的条数 例如我想
  • 疯壳AI开源无人机SPI(六轴传感器数据获取)

    一 ICM20602简介 六轴传感器在当今智能穿戴和定位导航产品中被广泛应用 而六轴传感器中做的最好的要属InvenSense公司的产品了 ICM20602便是其推出的优秀六轴传感器之一 ICM20602集成3轴加速度计和3轴陀螺仪 其中陀
  • bat命令备份oracle数据库,并且删除7天之前的数据文件

    用批处理命令备份oracle数据库 我是用在windows server 2008 服务器上 并且创建了定时任务 让他7天执行一次 下面贴出代码 echo off echo echo Windows环境下Oracle数据库的自动备份脚本 e