临时收到一个任务,就是在生产环境上定时备份oracle的数据。空闲时间搞了一下,真是一波三折,过程有点小郁闷,结果哈哈。现在进行总结一下

  (1)新建一个shell脚本test.sh

      #!/bin/bash
    currentTime=`date +%Y%m%d`     /app/admin/product/11.2.0/dbhome_1/bin/exp 用户名/密码@数据库地址 file=/app/admin/admin/bpmtest/back-     updata/${currentTime}.dmp

  (2)chmod 744 test.sh

  (3)使用linux的crontab命令定时备份

    crontab -e 进入vim编辑模式 插入     15 14 * * * /app/admin/admin/bpmtest/back-updata/test.sh (每天14时15分定时备份)

    可以使用 crontab -l 查看当前用户定时的任务

  (4)错误信息排查并解决:

    后面发现定时任务不执行,一开始以为脚本写错了,不过在linux下直接使用./test.sh发现正常执行。

    于是,查看了cron日志,vim /var/log/cron发现报错了:(admin) MAIL (mailed 77 bytes of output but got status 0x004b#012)

    百度查了一下,好象crontab执行错误的话是以邮件通知的。

    更改了执行的脚本test.sh,将错误信息输入到文件中,如下:

    #!/bin/bash

    currentTime=`date +%Y%m%d`

    /app/admin/product/11.2.0/dbhome_1/bin/exp 用户名/密码@数据库地址 file=/app/admin/admin/bpmtest/back-

    updata/${currentTime}.dmp >/app/admin/admin/bpmtest/back-updata/${currentTime}.txt 2>&1

    执行后查看错误文件,发现报错信息:Message 206 not found; No message file for product=RDBMS, facility=EXP: Release 11.2.0.1.0

    后面百度了一下,需要引入oracle的环境变量,重新修改test.sh如下:

 #!/bin/bash
    export ORACLE_HOME=/app/admin/product/11.2.0/dbhome_1     export ORACLE_SID=bpmtest      currentTime=`date +%Y%m%d`     /app/admin/product/11.2.0/dbhome_1/bin/exp 用户名/密码@数据库地址 file=/app/admin/admin/bpmtest/back-     updata/${currentTime}.dmp >/app/admin/admin/bpmtest/back-updata/${currentTime}.txt 2>&1

    后来又要定时删除备份的数据,服务器只保留最近7天的数据备份。发现在shell中linux命令不执行,后来查了一下,需要导入PATH环境变量,且执行命令需要写全路径。代码如下:

#!/bin/bash
export ORACLE_HOME=/app/admin/product/11.2.0/dbhome_1
export ORACLE_SID=bpmprd
export PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/admin/bin:/sbin:/usr/sbin:/app/admin/product/11.2.0/dbhome_1/bin
currentTime=`date +%Y%m%d`
/usr/bin/find /app/admin/admin/back-updata/ -mtime +5 -name "*.dmp" -exec rm -rf {} \;
/app/admin/product/11.2.0/dbhome_1/bin/exp bas5/bas5@10.100.2.74/bpmprd file=/app/admin/admin/back-updata/${currentTime}.dmp > /app/admin/admin/back-updata/dmp.log 2>&1
~

Linux平台下Oracle定时备份数据的更多相关文章

  1. Linux定时备份数据到百度云盘

    导读:如今的百度云盘免费容量都是2T了,即使把电脑上所有的东东都放上去,也还有大把的剩余空间.对于站长来说,是完全可以充分利用这些硬盘空间的,现在我们就用百度云盘来备份Linux服务器上的数据. 一直 ...

  2. Linux平台下Lotus Domino服务器部署案例

    Linux平台下Lotus Domino服务器部署案例 几年前我写了篇<RHAS2.1下安装中文LotusDominoR6.5图解>这篇文档被多个大型网站转载,曾帮助过很多公司系统管理员部 ...

  3. ORACLE定时备份方案

    ORACLE定时备份方案 采用ORACLE的EXP工具,实现ORACLE的备份:采用LINUX的服务crond实现定时功能. 1 编辑SH,实现备份功能 #vi oracle_backup.sh,输入 ...

  4. Linux平台下:块设备、裸设备、ASMlib、Udev相关关系

    对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: ...

  5. oracle定时备份与删除N天前备份文件

    oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup ...

  6. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  7. 在linux平台下,设置core dump文件属性(位置,大小,文件名等)

    在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c un ...

  8. Linux tar命令高级用法——备份数据

    Linux tar命令高级用法——备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ...

  9. Windows平台下Oracle实例启动过程中日志输出

    Windows平台下Oracle实例启动过程中日志输出记录. 路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log 输出内 ...

随机推荐

  1. 将json转为 SortedDictionary

     #region ConvertJsonToSortedDictionary 将json转为 SortedDictionary        /// <summary>        // ...

  2. label 两次点击 事件冒泡 使用时间戳的解决方案

    情况描述:在页面中input 和 label 通过for banding 然后点击input 或者label的时候都要执行一个方法   但是在点击label的时候有两次执行两次的情况,及监听到的cli ...

  3. iPhone设备分辨率一览

    地址:https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/

  4. iOS核心动画详解(CABasicAnimation)

    前言 上一篇已经介绍了核心动画在UI渲染中的位置和基本概念,但是没有具体介绍CAAnimation子类的用法,本文将介绍CABasicAnimation及其子类CASpringAnimation的用法 ...

  5. HTTP 错误 500.21 - Internal Server Error 解决方案(转)

    不久前重新安装了Windows7,在安装了VS2010 开发平台之后,将网站发布到IIS,访问发生如下错误: HTTP 错误 500.21 - Internal Server Error处理程序“Ni ...

  6. java 字符串解析为json 使用org.json包的JSONObject+JSONArray

    参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...

  7. DBA学习参考绝佳资料

    原文来自:pursuer.chen 原文地址:https://www.cnblogs.com/chenmh/default.aspx?page=1 [置顶]MongoDB 文章目录 2018-02-0 ...

  8. java架构师之路:推荐的15本书

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...

  9. 【TensorFlow】tf.nn.conv2d是怎样实现卷积的?

    tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要 tf.nn.conv2d(input, fil ...

  10. MariaDB日志

    1.查询日志:一般来说不开开启(会产生额外压力,并且不一定有价值),query log 记录查询操作:可以记录到文件(file)中也可记录到表(table)中 general_log=ON|OFF g ...