#此脚本只备份数据表,而且为了方便恢复数据是做的单表逐个备份
#在写脚本过程中遇到的报错均加入了解决方案的链接(虽然错误代码没有贴出来)
#最终将在脚本所在目录生成年月日-时分的目录,目录下为表名.dmp文件+表名.log文件
#例:/home/oracle/bak为脚本所在目录,将生成20170523-1723目录,下面有 remit_bank_hds.dmp和remit_bank_hds.log文件 #以下为expdp_cms_prod.sh脚本内容
#此脚本需要用oracle用户运行
#--------------------------------------------------------------------------------
#!/bin/bash
#多行注释http://www.jb51.net/article/58236.htm
#后台执行,并重定向日志
#nohup /home/oracle/bak/expdp_cms_prod.sh command > /home/oracle/bak/expdp_cms_prod.out >& &
#加载系统环境变量,避免用crontab定时器执行时失败,如果这样也无效,则需要使用绝对路径
#查看crontab的执行日志:vi /var/log/cron
source /home/oracle/.bash_profile
#给脚本目录授权
chmod /home/oracle/bak
#目录跳转,避免在根目录跑脚本
cd /home/oracle/bak
#获取当前日期做为数据文件备份的目录
rq=`date '+%Y%m%d-%H%M'`
#获取当前所在路径http://www.cnblogs.com/FlyFive/p/3640267.html#commentform
basepath=$(cd `dirname $`; pwd)
#数据库连接变量配置
db_name=cms
db_pass=cms123
db_osid=orcl
#执行sql文件,暂时不用
#@$basepath/create_directory.sql
#在当前目录下创建目录
mkdir $rq
#连接数据库
#EOF含义http://blog.csdn.net/sprita1/article/details/42676307
sqlplus $db_name/$db_pass@localhost:/$db_osid << EOF
#sqlplus /nolog <<EOF
#conn /as sysdba
#执行sql语句
#变量拼接http://blog.itpub.net/9240380/viewspace-764728/
create or replace directory expdir as '${basepath}/${rq}';
#查看directory是否存在,路径是否正确
select * from dba_directories where DIRECTORY_NAME='EXPDIR';
#如果derictory不属于当前oracle用户,则需要授权,不能授权给自己
#grant read,write on directory expdir to cms_prod;
exit;
EOF
#单表导出语句
expdp $db_name/$db_pass@$db_osid tables= REMIT_BANK_HDS dumpfile=REMIT_BANK_HDS directory=expdir logfile=remit_bank_hds.log;
#su - oracle -c "expdp jmt/jmt@ORCL owner=jmt dumpfile=backupdb$rq.dmp DIRECTORY=dpdata1"
#-----------------------------------------------------------------
#配置定时器
crontab -e
#每天凌晨2点执行
00 02 * * * nohup /home/oracle/bak/expdp_cms_prod.sh command > /home/oracle/bak/expdp_cms_prod.out 2>&1 &
crontab -l

												

linux自动备份oracle数据库的更多相关文章

  1. (转)linux自动备份oracle数据库并上传到备份服务器 脚本实现

    实际项目中,备份数据是不可缺少的一步,完成数据的自动备份减少个人的工作量,是我们的目标.之前很少写过脚本,不过这些简单的操作还是可以做到的!话不多说,开始具体介绍:oracle版本:10.2.0操作系 ...

  2. Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...

  3. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  4. Linux自动备份MySQL数据库脚本代码

    下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...

  5. Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

  6. Linux定时自动备份oracle数据库

    1.在服务器创建备份目录,并赋予权限mkdir -p /backup/P_DATA #新建shell脚本存放路径mkdir -p /backup/P_DB_BACK  #新建Oracle数据库备份目录 ...

  7. 使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器

    一.使用bat批处理文件备份oracle(前提是配置好oracle数据库客户端) @echo off set databasename=orcl  //数据库名 set username=ninic ...

  8. linux 自动备份mysql数据库

    今天一早打开服务器.13W个木马.被爆破成功2次,漏洞3个.数据库被删.这是个悲伤的经历 还好之前有备份,服务器也升级了安全机制,只是备份是上个月的备份.所以想写个脚本,试试自动备份数据库. 1. 先 ...

  9. CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本

    说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...

随机推荐

  1. Redis的安装(CentOS 7下)

    redis的官网,www.redis.io 1. 先下载 redis: wget http://download.redis.io/releases/redis-3.0.3.tar.gz 2. 解压: ...

  2. jmeter(5)——参数化

    之前接触过QTP或者Loadrunner的小伙伴,应该对参数化不陌生,在<badboy详解篇>中也介绍了badboy的参数化,今天说一下jmeter的参数化,同样,我们举例说明,以msn. ...

  3. LumiSoft

    SVN: https://svn.lumisoft.ee:8443/svn/LumiSoft_Net/ User: readonly Password: readonly Download: http ...

  4. solr linux配置

    一.先在官网下载solr的最新版本或者你需求的版本1 目前我使用的是4.10.3(http://archive.apache.org/dist/lucene/solr/4.10.3/)2 复制到你的云 ...

  5. Firebird3 embedded connection

    Firebird3 的嵌入式连接和以前的版本不同,官方也不再单独发布嵌入式版本了,因为嵌入式版本已经包含在zip包里了. 具体只需要文件: fbclient.dll.ib_util.dll.icudt ...

  6. windows 下配置ndk环境,无需cygwin

    时隔好久要用ndk编译jni库,本以为配制安装cygwin环境,便按部就班的下载安装,但是公司的网速真的不给力,三天安装了三四次都没有安装成功(我选择的是在线安装),于是我便开始查ndk的官网看看,发 ...

  7. c#中用DataView查询

    新人菜鸟 在开发一款软件,用到了 MyS中的 DataView 查询.查询后判断视图是否有返回值,找了好久,终于找到了他的 DataView XX.Count 参数. string table = S ...

  8. PLC编程逻辑思路

    PLC编程逻辑思路 在整个执行过程的流程中,都是在不断地找启动条件,停止条件以及输出结果.当条件不够时,就得想办法如果添加标志位,根据已有条件去构造条件:当结果开发耦合时,就制造中间继电器去除耦合. ...

  9. C#学习笔记15

    1.平台互操作性和不安全的代码:C#功能强大,但有些时候,它的表现仍然有些“力不从心”,所以我们只能摒弃它所提供的所有安全性,转而退回到内存地址和指针的世界. C#通过3种方式对此提供支持. (1)第 ...

  10. 使用 WireShark 分析 TCP/IP 三次握手 和 四次挥手

    TCP 三次握手 示意图 Wireshark 抓包注意事项 为了演示一个TCP三次握手建立连接的过程,我们通过 Chrome 访问一个网页. 已知 HTTP 协议就是建立在TCP链接上的 比如访问以下 ...