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
  • 相关阅读:
    产品流程关键点分析
    Hadoop分布式文件系统(HDFS)设计
    什么是产品经理
    转:互联网产品开发流程
    如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
    mobile app 与server通信的四种方式
    Android: Client-Server communication
    Android: Client-Server communication by JSON
    Samba 源码解析之SMBclient命令流
    Samba 源码解析之内存管理
  • 原文地址:https://www.cnblogs.com/xibei666/p/5936271.html
Copyright © 2011-2022 走看看