Oracle 11g 数据库自动备份执行脚本

@echo off
setlocal enabledelayedexpansion
title %date% %time:~,8% by LiaoNing Sunray Software Technology

::XXX数据库备份
::定义数据库SID
set SID=orcl

::定义用户名数组(各用户间用空格分隔 例如:user1 user2 user3)
set userArr=aaa
set pswdArr=bbb

::指定删除天数
set daysAgo=3

::指定备份路径
set filePath=D:\Oracle数据库备份\

::定义脚本内部变量
set time_=%time: =0%
set fileName=%date:~0,4%%date:~5,2%%date:~8,2%_%time_:~0,2%%time_:~3,2%.dmp
set newDir=%date:~0,10%\

::创建以当天日期命名的文件夹
if not exist %filePath% md %filePath%
if not exist %filePath%%newDir% md %filePath%%newDir%

echo 开始备份(备份整个数据库).....

exp %userArr%/%pswdArr%@%SID% file=%filePath%%newDir%%userArr%_%fileName%

::删除N天以前的数据
set d=%date:~0,10%
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("temp.txt",2,true).write(FormatDateTime(dateadd("d",-%daysAgo%+1,"%d%"),vbShortDate))(window.close)
for /f "tokens=1 delims= " %%i in (temp.txt) do set t1=%%i
for /f "delims= " %%i in (‘dir /ad/b %filePath%‘) do (
set t2=%%i
set t3=!t2:~0,10!
if !t3! lss !t1! rd /s/q "%filePath%%%i")
del /f temp.txt

时间: 2024-10-12 18:57:43

Oracle 11g 数据库自动备份执行脚本的相关文章

数据库自动备份压缩脚本(备份最近七天,七天之前自动删除,只保留rar文件)

把下面脚本添加到服务器计划任务中去,设置为每天执行即可,文件备份路径即为脚本所在路径,必须安装压缩文件 @echo offrem 计算指定天数之前的日期,用于后面删除指定天数的数据set DaysAgo=7set/a year=1 rem 假设系统日期的格式为yyyy-mm-ddcall :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDaysset /a PassDays-=%DaysAgo%call :DaysToDate %PassD

禅道及其数据库自动备份及短信、邮件通知脚本

一.添加SMTP服务器 在需要发送自动报警的服务器上修改如下文件,增加如下两行 # vim /etc/mail.rc set [email protected] smtp=smtp.126.com set smtp-auth-user=doteyplay smtp-auth-password=*** smtp-auth=login     当然,这里的SMTP服务器也可以使用别的,比如QQ的,但是QQ只能发几卦,在测试的时候,总报错:smtp-server: 454 Error: authent

mysql数据库自动备份脚本分享

前几篇博客已经相继公开了去转盘网的所有技术细节,如下: 百度网盘爬虫 中文分词算法 邀请好友注册 js分页部分代码 这篇博客我将继续公开数据库自动备份的代码.可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切还是个蛋,你可以想象数据库备份多么重要.不会linux,不会写shell的朋友麻烦先去补补.不过你说我牛逼,不补也能看懂,那没问题,哈哈,废话不说了.老规矩,上代码: #!/bin/bash time=$(date +"%d-%m-%Y") pre=/home/ubuntu

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle 11g数据库的部署

一.前言 最近要准备考试了,准备温习下Oracle数据库的相关知识,那么学习Oracle的前提肯定是部署了,目前主流Oracle版本为11g,那么接下来我们就先来一起看下,如何部署Oracle已经对数据库的监听开启与启动数据库等操作 二.安装Red Hat Enterprise Linux 5.8操作系统的注意事项 安装要求: 防火墙的配置选项:禁用 SElinux配置:禁用 默认安装:软件开发 由于系统部署简单,这里就不再阐述了,有疑问的,麻烦大家自行百度一下! 三.前置条件的准备 Oracl

【学神-RHEL7】1-28-mariadb数据库自动备份和expect的使用

本节所讲内容: 案例1:自动备份Mariadb脚本   实战: 1.自动备份mariadb脚本 需要做准备:登录到服务器上 安装mariadb-server                       开启mariadb-server [[email protected] ~]# yum-y install mariadb mariadb-server 软件包mariadb   #mariadb数据库Linux下的客户端 软件包mariadb-server#mariadb数据库 [[email 

Oracle 11g数据库的安装

Oracle 11g数据库的安装 1.安装虚拟机,使用vmware或者virtualbox,运行内存配置为4G,硬盘自动扩展.(cpu虚拟化不需要开启) 2.安装操作系统,现在安装的OS版本是Oracle Enterprise Linux 6.5(与Red Hat Enterprise Linux 6.5基本相同),不需要再安装过程 中创建账户,以后可以自定义来添加用户和组.(oinstall和dba组分别作为oracle用户的组主和附属组)安装过程不再赘述. 3.创建相应的路径/u01/app

linux shell简单实现数据库自动备份

以centos系统为例,实现数据库自动备份.1.写一个shell: 12 #! /bin/bashmysqldump -cp --user=root --password='123' dbName | gzip > ~/db/dbName-`date +%Y%m%d%H`.sql.gz ; 上述shell中,root是备份时使用的用户名,123是密码,dbName是要备份的数据库的名称.把这个文件放在用户目录下,保存路径为:~/db/dbBackup.sh 保存结束后添加执行权限:chmod a