当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-26

    本文导语: 说明:Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1、root用户登录服务器mkdir -p /backup/oracledata #新建Oracle数据库备份目录chown -R oracle:oinstall /backup/oracledata -R#设置目录权...

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

具体操作:

1、root用户登录服务器
mkdir -p /backup/oracledata #新建Oracle数据库备份目录
chown -R oracle:oinstall /backup/oracledata -R#设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)

2、新建Oracle数据库备份脚本
vi /backup/oracledata/ordatabak.sh #新建文件,输入以下代码
#!/bin/sh
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#以上代码为Oracle数据库运行账号oracle的系统环境变量设置,必须添加,否则crontab任务计划不能执行。
# oracle用户的系统环境变量路径:/home/oracle/.bash_profile
date=`date +%Y_%m_%d` #获取系统当前日期时间
days=7 #设置删除7天之前的备份文件
orsid=`192.168.0.198:1521/orcl` #Oracle数据库服务器IP、端口、SID
orowner=JUSTIN #备份此用户下面的数据
bakuser=JUSTIN #用此用户来执行备份,必须要有备份操作的权限
bakpass=JUSTIN #执行备注的用户密码
bakdir=/backup/oracledata #备份文件路径,需要提前创建好
bakdata=$orowner"_"$date.dmp#备份数据库名称
baklog=$orowner"_"$date.log#备份执行时候生成的日志文件名称
ordatabak=$orowner"_"$date.tar.gz#最后保存的Oracle数据库备份文件
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天前的备份(注意:{} 中间有空格)
:wq#保存退出
chmod +x /backup/oracledata/ordatabak.sh #添加脚本执行权限

3、vi /etc/crontab #编辑系统任务计划,添加以下代码到最后一行
30 2 * * * oracle /backup/oracledata/ordatabak.sh #每天凌晨2点30分,以oracle用户执行ordatabak.sh备份文件
:wq!#保存退出
service crond restart#重启crond
每天凌晨2点30分,会自动备份数据库到/backup/oracledata/JUSTIN目录中,保存为.tar.gz压缩文件,并且删除7天前的备份,即只保留最近7天的数据。
备注:以上所有的代码都是在英文半角状态下输入。

至此,Linux下自动备份Oracle数据库并删除指定天数前的备份教程完成。

推荐阅读:

Oracle用老的控制文件备份恢复新建的数据文件 

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密


    
 
 

您可能感兴趣的文章:

  • 大家备份windows98用ghost 估计就用得很多了, 请问linux可不可以ghost 备份? 还有linux 的资源管理器在哪里? 我想打开我原来的硬盘F
  • linux装好了要做那些shell程序做备份呢?
  • 如何实现linux邮件服务器上邮件的备份?
  • 请教老师:linux系统大家是如何备份的啊?
  • Linux 系统备份工具 Back In Time
  • Linux备份工具 Deja Dup
  • Linux备份方案询问
  • linux如何 备份系统
  • 请教ghost备份linux分区!有大大知道的请告知~谢谢~
  • 在线等:我想备份我的LINUX系统,有何方法啊!GHOST行吗?还原后LINUX还能启动吗?
  • linux 备份
  • linux小白提问linux备份oracle数据库的问题
  • 如何用tar备份整个linux系统
  • Linux 如何加快 dd 命令备份的速度呢?
  • g4l备份LINUX系统的问题!
  • clonezilla-live备份LINUX使用问题
  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • 送分:LINUX 下如何实现双机的备份和同步?
  • 在LINUX 系统里面 如何让MYSQL自动备份
  • 能不能用ghost备份linux?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 求一SHELL(Linux下批量将指定目录文件传到指定远程服务器的指定目录)!
  • linux如何给指定用户赋予指定文件的权限
  • Linux下怎么替换指定行指定列
  • linux 指定用户只能读写指定的文件夹
  • linux 下面安装通过yum安装apache 指定目录
  • 安装红旗Linux桌面版的问题:指定镜像文件。应该是什么路径
  • 求linux下,指定速率发包的软件
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘) iis7站长之家
  • LINUX下C++编程如何控制光标的位置,以达到在指定位置输出字符
  • 在linux上怎么查看指定文件夹的权限?
  • 在Linux下怎样指定网卡的速度
  • 急! linux中,如何将mysql安装到指定位置?
  • linux如何限制指定进程的内存使用量?
  • linux下怎么实现在屏幕上指定地方输出字符?
  • linux下多网卡机器中,如何通过指定网卡来接受数据?
  • Linux提到指定区间的字符命令如何写(cpu MHz: 2262.000)
  • LINUX的临时目录等,能指定到别的卷吗?
  • linux 如何与指定进程通信?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,