zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/andy6/p/5986761.html
Copyright © 2011-2022 走看看