#此脚本只备份数据表,而且为了方便恢复数据是做的单表逐个备份
#在写脚本过程中遇到的报错均加入了解决方案的链接(虽然错误代码没有贴出来)
#最终将在脚本所在目录生成年月日-时分的目录,目录下为表名.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. unity物理学材质Physic Material

    物理材料 切换到脚本   在物理学材料是用来调整摩擦和碰撞对象的反弹效应. 要创建物理材质,请从菜单栏中选择“ 资源”>“创建”>“物理材质 ”.然后将“物理材质”从“项目视图”拖动到场景 ...

  2. Linux 信号signal处理函数--转

    alarm(设置信号传送闹钟)相关函数 signal,sleep 表头文件 #include<unistd.h> 定义函数 unsigned int alarm(unsigned int ...

  3. 架构实战项目心得(十一):基于spring-security-oauth2的mysql数据表设计

    一.建立数据库及数据表结构 CREATE SCHEMA IF NOT EXISTS `oauth2` DEFAULT CHARACTER SET utf8 ; USE `oauth2` ; -- -- ...

  4. mysql主从复制测试

    mysql主从复制测试: 1. 配置主服务器:在主库上面添加复制账号GRANT REPLICATION SLAVE on *.* to 'mark'@'%' identified by 'mark' ...

  5. Chetsheet: 2017 01.01 ~ 01.31

    Web TypeScript: the missing introduction Async HTTP API and service bus Optimizing the Performance o ...

  6. java 的数据库操作--JDBC

    一.java与数据库的交互 1.jdbc:java data base connectivity,java数据库连接.java的JDBC操作主要通过操作两个类进行连接操作:Connection 和 S ...

  7. POJ1651 Multiplication Puzzle(相邻乘积之和最小,区间DP)

    http://blog.csdn.net/libin56842/article/details/9747021 http://www.cnblogs.com/devil-91/archive/2012 ...

  8. k8s常用指令集(kubectl kubeadm)

    1      Kubectl指令集 1.1      Master查询节点信息 [root@master1 kubernetes-1.10]# kubectl get nodes 1.2      查 ...

  9. js表单快速取值/赋值 快速生成下拉框

    1.表单取值/赋值公共方法 //表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;&qu ...

  10. [转]纯js导出json到excel(支持chrome)

    转自:http://blog.csdn.net/educast/article/details/52775559 function JSONToExcelConvertor(JSONData, Fil ...