实际项目中,备份数据是不可缺少的一步,完成数据的自动备份减少个人的工作量,是我们的目标。之前很少写过脚本,不过这些简单的操作还是可以做到的!话不多说,开始具体介绍:
oracle版本:10.2.0
操作系统:linuxredhat6.3
具体操作:
(1)在服务器上创建备份目录,并赋予权限
mkdir -p /backup/oracledata #新建Oracle数据库备份目录

chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)

(2)完成备份脚本

vi /backup/oracledata/ordatabak.sh #新建文件
加入下面信息:
#!/bin/sh ORACLE信息可以通过 .bash_profile 查看
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin:/usr/bin:/sbin:/usr/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib: /usr/local/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#以上代码为Oracle数据库运行账号oracle的系统环境变量设置,必须添加,否则crontab任务计划不能执行。
dateTime=`date +%Y_%m_%d` #当前系统时间
days=7 #删除7天前的备份数据s
orsid='127.0.0.1:1521/orcl' #oralce连接信息
orowner=oracle # 备份此用户下面的数据
bakuser=oracle #用此用户来执行备份,必须要有备份操作的权限
bakpass=oracle #执行备注的用户密码
bakdir=/DATA/bakorcldata/moodle #备份文件路径,需要提前创建好
bakdata=$orowner"_"$dateTime.dmp #备份数据库名称
baklog=$orowner"_"$dateTime.log #备份执行时候生成的日志文件名称
ordatabak=$orowner"_"$dateTime.tar.gz #最后保存的Oracle数据库备份文件
remotePath=/opt/oracle/bakorcl/ #上传到远程服务器的路径

cd $bakdir #进入备份目录
mkdir -p $orowner #按需要备份的Oracle用户创建目录
cd $orowner #进入目录
exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #执行备份
tar -zcvf $ordatabak $bakdata $baklog #压缩备份文件和日志文件

find $bakdir/$orowner -type f -name "*.log" -exec rm {} \; #删除备份文件
find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} \; #删除日志文件
find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \; #删除7天前的备份(注意:{} \中间有空格)
scp $bakdir/$orowner/$ordatabak 192.168.0.10:$remotePath #将备份文件上传到远程服务器 如果不输人密码上传请参考http://blog.sina.com.cn/s/blog_957ef38b0102vuxy.html
:wq! 保存 退出

(3)添加脚本执行权限
chmod +x /backup/oracledata/ordatabak.sh #添加脚本执行权限
(4)编辑系统任务执行计划
crontab -e
输入一下信息“:

00 01 * * * /DATA/bakorcldata/oradatabak.sh#每天凌晨1点,以oracle用户执行ordatabak.sh备份文件

:wq! #保存退出

重启crontab

service crond restart

从此每天的凌晨1点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下!

转载于:https://www.cnblogs.com/telwanggs/p/6824123.html

(转)linux自动备份oracle数据库并上传到备份服务器 脚本实现相关推荐

  1. linux定时备份数据库到远程ftp,Linux下自动备份MySQL数据库并上传到远程FTP服务器...

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库到 ...

  2. mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...

    说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...

  3. aix oracle备份命令,Aix/Linux下自动备份oracle数据库

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

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

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

  5. Windows下自动备份Oracle数据库

    Windows下自动备份Oracle数据库 先说说为啥要搞这么个玩意 那是上线前几天[这不是讲故事],测试环境用的数据库崩了[为啥崩了不知道].之前造的一堆测试数据全都没得了[].然后急急忙忙的恢复环 ...

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

    Linux自动备份MySQL数据库脚本代码 下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且 ...

  7. mysql数据库备份到oss_备份MySQL数据库并上传到阿里云OSS存储

    1. 环境配置 要将本地文件上传到阿里云oss中, 必须使用阿里云提供的工具 ossutil, 有32位,也有64位的, Linux和Windows都有.具体可以到阿里云官网下载 本文以Linux系统 ...

  8. linux下expdp定时备份_Linux 自动备份 Oracle 数据库 Shell 脚本

    我们之前也介绍过,如何在 Linux 备份 MySQL . 作为一个后端开发人员,备份数据库是一个良好的习惯,虽然说数据库损坏或者数据丢失的概率很低,但是你不得不防,要不 2019-9-11 10:2 ...

  9. linux自动备份db2数据库备份,db2 自动备份(linux 、windows)总结

    1.linux db2 自动备份,备份后压缩,拷贝到另一服务器 全备份: #!/bin/sh #------------------------------------- #db2自动备份脚本 #by ...

最新文章

  1. 腾讯天衍实验室夺世界机器人大赛双冠军,新算法突破脑机接口瓶颈
  2. 全网最详细之一网打尽数据结构中与树相关的算法
  3. 2021-06-04
  4. UR驱动包安装过程及遇到问题的解决方案
  5. linux的进程命令,Linux基础进程命令详解
  6. linux服务器没网情况下手动安装软件几个方法
  7. MKL学习——矩阵向量操作
  8. 产品认知:你的产品适不适合快速去迭代?
  9. 搭载鸿蒙的油烟机,华为、美的合作:搭载鸿蒙系统的家电来了 三大亮点
  10. Angular 单元测试讲解
  11. AttributeError : module ‘enum‘ has no attribute ‘IntFlag‘
  12. 网络爬虫生成代理ip
  13. 操作符union/union all、intersect、minus、(not)exist
  14. Intellij Idea选中内容后Backspace删除无法使用,Ctrl+c/Ctrl+v/Ctrl+s/Ctrl+d等等快捷键无法使用的问题的解决
  15. 小程序apkg还原_狐妖小红娘手游背后,有这样一群“天真”的人
  16. django crontab UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 9: invalid start
  17. excel自动调整列宽_Knime数据分析入门- 06 自动调整Excel中列序
  18. 反射Modifier
  19. DSPE-PEG8-Mal包含DSPE和马来酰亚胺基团
  20. 命令执行(ctfshow)

热门文章

  1. 6 linux 制作raw命令_云计算网络知识学习-linux网络基础
  2. (19)ISE14.7软件生成bit失败永久解决方法(FPGA不积跬步101)
  3. 利用MMCM IP核产生用户时钟
  4. python画柱形图把奇数年份也显示出来_python - Matplotlib奇数子图 - 堆栈内存溢出...
  5. WSAAsyncSelect() 非阻塞模式WinSock
  6. python程序设计遇到的问题_Python程序设计与实践:用计算思维解决问题
  7. 【C语言】指针进阶实践(指针数组和创建单链表)
  8. KG—ARM-Thumb子程序调用规则—ATPCS
  9. Java学习日报—Java并发—2021/11/22
  10. linux窗口黑边,解决deepin-scrot在gnome3截图顶部出现黑边问题