ORACLE定时备份方案
ORACLE定时备份方案
采用ORACLE的EXP工具,实现ORACLE的备份;采用LINUX的服务crond实现定时功能。
1 编辑SH,实现备份功能
#vi oracle_backup.sh,输入以下内容
#!/bin/sh
ORACLE_BACKUP_HOME=/home/oracle/backup #定义ORACLE备份根目录
BACKUP_DATA=$ORACLE_BACKUP_HOME/day #定义ORACLE备份数据文件根目录
BACKUP_LOG=$BACKUP_DATA/log #定义ORACLE备份日志文件根目录
export ORACLE_BACKUP_HOME BACKUP_DATA BACKUP_LOG
DATA_FILE_NAME=data_backup #定义ORACLE备份日志文件名字前缀
LOG_FILE_NAME=log_backup #定义ORACLE备份日志文件名字前缀
export DATA_FILE_NAME LOG_FILE_NAME
BACKUP_AMOUNT=4 #定义ORACLE备份文件保存数量
export BACKUP_AMOUNT
datafile_amount=$(find $BACKUP_DATA -type f -name $DATA_FILE_NAME'_'*.dmp|wc -l) #查询ORACLE备份数据文件根目录下备份数据文件的数量
logfile_amount=$(find $BACKUP_LOG -type f -name $LOG_FILE_NAME'_'*.log|wc -l) #查询ORACLE备份日志文件根目录下备份日志文件的数量
del_datafile_count=$(($datafile_amount-$BACKUP_AMOUNT+1)); #计算需要删除ORACLE备份数据文件的数量
del_logfile_count=$(($datafile_amount-$BACKUP_AMOUNT+1)); #计算需要删除ORACLE备份日志文件的数量
if(($datafile_amount>=$BACKUP_AMOUNT));then
echo $BACKUP_DATA"路径下文件太多,正在清除备份数据文件"
for((i=0;i<$del_datafile_count;i++))
do
ls -t $BACKUP_DATA/$DATA_FILE_NAME'_'*.dmp| awk 'END{if(NR>=$BACKUP_AMOUNT){system("rm -rf "$NF);system("echo $BACKUP_DATA路径下,已删除文件"$NF)}}'#删除修改时间最早的一个数据文件
done
fi
if(($logfile_amount>=$BACKUP_AMOUNT));then
echo $BACKUP_LOG"路径下文件太多,正在清除备份日志文件"
for((i=0;i<$del_logfile_count;i++))
do
ls -t $BACKUP_LOG/$LOG_FILE_NAME'_'*.log| awk 'END{if(NR>=$BACKUP_AMOUNT){system("rm -rf "$NF);system("echo $BACKUP_LOG路径下,已删除文件"$NF)}}'#删除修改时间最早的一个日志文件
done
fi
rq=`date +"%Y%m%d%s"` #获取当前系统时间
su - oracle -c "/oracle/product/10.2.0/db_1/bin/exp sgedptwo/sgdb321@SGEMDP file=$BACKUP_DATA/$DATA_FILE_NAME'_'$rq.dmp log=$BACKUP_LOG/$LOG_FILE_NAME'_'$rq.log" #备份ORACLE数据库并记录日志
2 授予ORACLE用户使用备份目录权限
# mkdir /home/oracle/backup
# mkdir /home/oracle/backup/day
# mkdir /home/oracle/backup/day/log
#chown –R /home/oracle/backup
3 使用crond定制定时任务
#ps-ef|grep crond #查看crond服务是否开启
#service crond start|stop|restart #crond服务启动|停止|重启命令
#crontab –e,输入以下内容
0 0 * * * /oracle/oracle_backup.sh #每天00:00执行任务
0 0 1 * * /oracle/oracle_backup.sh #每月1号00:00执行任务
注释:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 6) (Sunday=0 )
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
ORACLE定时备份方案的更多相关文章
- oracle定时备份与删除N天前备份文件
oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup ...
- 搭建企业级全网数据定时备份方案[cron + rsync]
1.1.1. 服务端的配置[192.168.25.141] Rsync的端口是:873 man rsyncd.conf 查看帮助 Rsync是Redhat默认自带的,这里只是做了rsync服务器端的后 ...
- 全网数据定时备份方案[cron + rsync]
1.1.1. Rsync(远程同步)介绍 [Rsync等价scp cp rm共3个命令的和] 1.什么是Rsync: Linux下面开源的,很快,功能很多,可以实现全量及增量的本地或者远程数据同步 ...
- oracle定时备份
1.将如下代码复制到文本中,最后将文本后缀名称修改成XXX.bat 批处理文件: *********************************************************** ...
- Linux平台下Oracle定时备份数据
临时收到一个任务,就是在生产环境上定时备份oracle的数据.空闲时间搞了一下,真是一波三折,过程有点小郁闷,结果哈哈.现在进行总结一下 (1)新建一个shell脚本test.sh #!/bin/ba ...
- Oracle 定时备份数据库
[操作说明] 在前面的博客中,学习了如何Oracle如何备份数据库,实际开发过程中数据库应该每隔一段时间就要备份一次,所以我们就需要一个定时执行这个代码的功能,同时备份的文件可能进行一些处理,比如压缩 ...
- oracle 定时备份
第一步.bat脚本: @echo off echo 删除10天前的备分文件和日志 forfiles /p "z:/back" /m *.dmp /d -10 /c "cm ...
- Oracle定时备份数据库
1.导出命令:exp cpzxoa/cpzxoa@FENG file=D:\OracleBak\%date:~11,4%\jjmis_test.dmp log=D:\OracleBak\%date:~ ...
- Linux下oracle定时备份
1. 设置数据库空表可导出(oracel11g) 用PL/SQL登录数据库(或者其他工具) 执行: select 'alter table '||table_name||' allocate exte ...
随机推荐
- 新手学习FFmpeg - 调用API完成视频的读取和输出
在写了几个avfilter之后,原本以为对ffmpeg应该算是入门了. 结果今天想对一个视频文件进行转码操作,才发现基本的视频读取,输出都搞不定. 痛定思痛,仔细研究了一下ffmpeg提供的examp ...
- 今天第一次解决了程序在未装VS和XP下运行的问题
http://www.cnblogs.com/zero5/p/3162948.html 一位素不相识的朋友做的代码雨屏保程序 - 残雪孤侠 - 博客园 上面是我的BLOG 群共享里,有程序和代码 ...
- gym101666题解
A Amsterdam Distance 题意 求圆环上的两点距离. 分析 显然是沿半径方向走到内圈再走圆弧最短. 代码 #include <bits/stdc++.h> using na ...
- 证明xcosx无周期
假设\(xcos\,x\)有周期,依据周期函数的规律,可得 \[ \begin{aligned} xcos\,x & = (x+T)cos\,(x+T) \\ & = (x+T)cos ...
- 使用scm-manager搭建git/svn 代码管理仓库
使用 scm-manager 搭建 git/svn 代码管理仓库 1.在官网上下载scm-manager 下载地址https://www.scm-manager.org/download/ 2. 配置 ...
- Yii2.0怎么设置时区?
在config文件夹下,main.php 中, return [ 'charset' => 'utf-8', 'language' => 'zh-CN', 'timeZone' => ...
- 纯 CSS 实现幻灯片播放
介绍: 今日看到一道面试题,关于 使用纯CSS,不利用js, 写一个简单的幻灯效果页面.于是做了一个小demo,建议使用chrome,IE11查看~~ 主要思想: 利用 CSS3的 伪类选择器 : ...
- zui框架配置日期控件只显示年月
zui框架配置日期控件datetimepicker只显示年月 <!DOCTYPE html> <head> <script src="~/Scripts/jqu ...
- dedecms织梦二次开发报名表单模块插件安装及配置详细教程
网上找了很多,都不是太满意,功能不全不全不说,还没有详细的安装配置教程,经过自己的折腾,成功了修改程序并配置成功,亲测,试用没有问题!所以,决定给大家出一个针对新手的详细教程. 废话不多,直接上干货. ...
- Word文档操作知识
Word文档操作知识 #持续更新 本次更新时间:2019-03-06 14:34 一.换行时字体空间过大 问题情景:当我们编写中文的文档时,中间插入了西方的字体或符号,在以它为行尾换行时: 会出现字体 ...