Windows系统下Oracle自动备份数据库,删除历史备份数据
方法步骤:
1.创建备份目录d:\backup, 创建批处理命令Bak.bat,编写备份脚本 。
2.创建任务计划程序触发器。
具体实现:
@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 USER=xxx
set PASSWORD=123456
set DATABASE=ORCL
::创建备份目录。
if not exist "D:\backup\data" mkdir D:\backup\data
if not exist "D:\backup\log" mkdir D:\backup\log
set DATADIR=D:\backup\data
set LOGDIR=D:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
rar %DATADIR%\data_%BACKUPDATE%.rar
::删除7天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit 简单的以星期的命名导出
@echo off
set filename=e:\rdzxbf\%date:~11,3%
DEL %filename%.dmp
DEL %filename%.log
exp userid=kjb/dreamsoft@ORCL file=%filename%.dmp log=%filename%.log说明:echo 文字输出 。 set 设置变量 ,用%变量名% 来获取。
exp命令是oracle提供的dump备份命令
forfiles是windows的文件查找命令
pause 执行的时候在cmd输出显示
del 删除文件
- %date%的值
在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。
windows下%date% 输出的是2017/04/06 周四 这种格式,%date:~0,11% 输出的是2017/04/06。
~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。
如需要准确的时间做为文件名,请用%time%函数,参数同上。
- forfiles参数说明:
/P 可是搜索的路径。在我们这里就是要在哪个目录寻找要删除的文件
/s 包含子目录
/m 根据搜索掩码搜索文件。默认为,如果要找备份处dump文件,格式为.dmp
/d 文件修改时间在某个时间之前或者之后。-7 表示7天之前的文件。
/c 表示为每个文件执行的命令,如果要删除该文件可以为”cmd /c del /F /s /q @file”。其中变量@file表示该文件名 f s q表示强制静默删除可以不用;
默认命令是 “cmd /c echo @file”。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 “TRUE”;
如果是文件,返回 “FALSE”。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
例如:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001-01-01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2006-11-25 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
删除三十天前的文件forfiles /p "d:\108" /s /m *.* /d -30 /c "cmd /c del @path"创建任务计划程
1在电脑附件中找到任务计划程序,然后点击打开
2点击右侧的“创建基本任务”,创建一个任务计划,填写任务名字和描述
3设置任务的执行周期,这里周期选择每天,点击下一步。再设置开始时间,一般选择在夜间备份数据库,点击下一步
4设置执行的操作是,这里是批处理,所以选择程序,点击下一步
5选择前面我们只做的bat批处理文件。即oracle备份语句文件。参数填写文件所在的目录,点击下一步,直接点击完成
6然后双击对应的计划任务名称,出现界面如下图:然后在安全选项中选择“不管用户是否登陆都要运行此程序”然后点击确定
7输入运行此任务的用户帐户信息。输入此pc端密码确定即可
智能推荐
mysqldump 定时备份数据库
使用mysqldump定时备份数据库 mysqldump备份数据库数据的语句如下: (1)备份整个数据库 mysqldump -uroot -p dbname> filepath (2) 导出数据库内的某几个表 mysqldump -uroot -p dbname tablename1 tablename2 > filepath (3) 导出某个表的表结构 mysqldump -uro...
MySQL定时备份数据库
本节目标 1.熟悉定时备份数据库的解决方案 2.掌握定时备份数据库的实现 思路: 定时备份数据库的解决方案,总共有三步 1.定时调度器(每天什么时候,隔多久去做) 2.数据库备份脚本 (脚本功能:怎么连接数据库,备份,保留近七天、十天的数据,而且在 备份数据的时候,不仅仅备份在主机,我们也备份在异地,FTTP服务上, 越多越好,清理历史数据的作用等等) 3.select … into...
Linux - 定时备份数据库
【1】备份数据库脚本 脚本链接如下: mysql备份脚本 【2】添加Linux定时任务 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 定时任务语法: 语法规则如下图所示: 说明如下: 对于以上各语句,星号(*)表示所有可用的值。 例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4 指定数值由逗号...
通过mysqldump备份数据库
使用mysqldump命令备份 mysqldump基本语法(dos命令行): mysqldump -uusername -ppassword dbname > BackupName.sql 参数释义: username为数据库用户名 password为数据库密码 dbname表示数据库的名称 BackupName.sql表示备份数据库的文件名,文件名前面可以加上一个绝对路径,通常将数据库备份...
【MapReduce篇】MR过程分析
Mapreduce原语:“相同”的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算 为什么叫MapReduce:MapTask & ReduceTask 整体运行流程图解: mapreduce 框架可以分为五个不同实体: 1)客户端:提交 MapReduce job。 2)Yarn 资源管理器(resource manager):协调集群计算资源...
猜你喜欢
Pandas Series转换为DataFrame
说明 在平时数据分析时,通过describe和groupby生成的统计数据,更多的时候是属于series格式的(数据类型DataFrame,如果只有一列,数据类型就自动转为Series)。 而我们在后续的分析或者数据合并的过程中,我们往往需要将series格式转换成dataframe格式。 虽然Series有一个to_frame()方法,但是当Series的index也需要转变为DataFrame...
162.Git-版本控制系统(VCS)
摘要:本文详细介绍了版本控制系统,并提供了Git学习过程中相对最佳的参考文献,方便大家快速入门git。 参考文献:《Python Web开发测试驱动方法》[英]Harry J.W Percival著,安道 译 参考文献:如何在ubuntu下使用Github? 参考文献:Git基础概念 参考文献:git命令简写 版本控制系统(Version Control System,简称VCS).当项目在几周之...
2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 打篮球
题目描述 1, 2, 3在打篮球, 可是二打一总是不公平的, 于是他们决定一对一,另一个人在边上看着, 谁输了谁就和下场和在边上看着的那个人交换。 现在给你一个胜利者的序列(每一轮胜利的人), 问这个序列合不合法。(一开始1,2单挑, 3在下面看着) 输入描述: 输出描述:...
洛谷P5715、P5716、P5718、P5722题题解(Java语言描述)
P5715题目要求 P5715题目链接 P5715分析 三个数的排序……不说啥了啊…… P5715AC代码(Java语言描述) P5716题目要求 P5716题目链接 P5716分析 关键有两个,一是闰年的判断,二是算月份…… 很水啦…… P5716AC代码(Java语言描述) P571...
Windows命令行安装MySQL8.0
官网下载安装包下载地址 创建配置"my.in"文件放在解压后文件中如图: 配置文件内容如下 以管理员身份打开命令提示符,进入bin目录下 之后就可以用图形化界面连接了...
