CentOS7下Oracle的自动备份

概述

  Linux下Oracle自动备份就没有MSSQL那么简单,在Linux下Oracle的备份需要借助crontab 指令,crontab 能够自动执行系统定时任务,通过配置crontab 指向Oracle定时备份指令完成数据的定时备份。

编写脚本

1、编写数据库备份脚本文件(oracle_back.sh)

复制代码

#引进执行数据备份的环境

echo -e '******Start********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt #日志打印
export ORACLE_BASE=/data/oracle #oracle安装目录
export ORACLE_HOME=/data/oracle/product/11.2.0/db_1 #数据库实体名称,有些系统这个位置不同名
export ORACLE_SID=MLUCDB
export PATH=$ORACLE_HOME/bin:$PATH

rq='db'$(date '+%Y%m%d')'214001' #动态编写时间
orq='db'$(date -d'2 day ago' +'%Y%m%d')'214001' #当前时间减去2天

echo -e $rq $orq>>/data/blog.txt
expdp hao123/abc123@DB105 dumpfile=$rq.dmp log=$rq.log directory=dpdata #导出数据库文件
zip -m /data/backup/$rq.zip /data/backup/$rq.dmp /data/backup/$rq.log #压缩文件zip
find /data/backup -name $orq.zip |xargs rm -rf #压删除最近2天之外的数据
echo -e '******End**********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt

复制代码

备注:directory=dpdata是oracle的文件路径,我这里设置dpdata指向/data/backup ,同时记得将Oracle用户拥有/data/backup的文件夹所有权;

2、编辑脚本文件为可执行文件

chmod +x /data/oracle_back.sh

3、编写定时任务crontab脚本

[root@localhost data]# crontab -e
42 16 * * * /data/oracle_back.sh

#每天的16点42分自动执行脚本文件,执行完成之后,系统自动发送一封执行邮寄到root文件里面(/var/spool/mail/root)
#清空root文件内容的脚本,如果需要清理文件内容 echo>root

4、跟踪执行结果

tail -f /var/log/cron  #跟踪查询定时任务是否执行
cat /var/spool/cron/root #查询root下有那些定时任务

5、待续问题

 crontab执行完成可以发送Email,该功能的具体配置,还没研究....

oracle_back.sh


zhuan :http://www.cnblogs.com/xibei666/p/5936271.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值