您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle数据库自动备份手册forlinux
Oracle数据库自动备份手册Oracle数据库自动备份手册ii目录结构1目的...........................................................................................................................................12系统用户一览...........................................................................................................................13Oracle环境变量......................................................................................................................14备份方法...................................................................................................................................14.1.1创建备份目录...................................................................................................14.1.2创建备份脚本...................................................................................................14.1.3设置脚本定时执行...........................................................................................2Oracle数据库自动备份手册11目的在linux环境下使用exp备份数据库,该方法适合于备份数据级别小余1TB的数据库,版本10g、11g皆可。经测试,该方法在redhat5.x,redhat6.x,centos6.x等64位环境下正常执行。2系统用户一览序号用户所在组权限密码1.rootroot超级用户root1232.oracleoinstalldbaorcl3Oracle环境变量标题内容ORACLE目录/home/oracleORACLE_BASE/usr/local/oracle/ORACLE_HOME/usr/local/oracle/product/1120ORACLE_SIDorcl4备份方法4.1.1创建备份目录使用oracle创建备份文件存储目录suoracledf–hl查询/home下空闲磁盘空间,保证空间充足mkdir/home/oracle/backup4.1.2创建备份脚本使用oracle用户创建自动备份脚本cd/home/oraclevibackup.sh脚本内容如下,其中的红色部分需要根据实际情况调整当前备份设置删除1个月之前的备份文件#!/bin/shexportLANG=en_US.UTF-8exportNLS_LANG=SimplifiedChinese_china.ZHS16GBKexportORACLE_BASE=/usr/local/oracle/exportORACLE_HOME=/usr/local/oracle/product/1120exportORACLE_SID=orclOracle数据库自动备份手册2exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin#设置备份文件格式#设置删除备份文件的格式,当前为删除1个月前的备份backuptime=`date+%Y%m%d%H`deletetime=`date-d1monthago+%Y%m%d%H`#开始删除1个月前的备份rm-f/home/oracle/backup/orcl_$deletetime.dmprm-f/home/oracle/backup/orcl_$deletetime.log#开始备份expcount/countfile=/home/oracle/backup/orcl_$backuptime.dmplog=/home/oracle/backup/orcl_$backuptime.logfull=y注意:date-d1monthago命令代表获取当前1个月之前的时间date-d1weekago命令代表获取当前1周之前的时间date-d1dayago命令代表获取当前1天之前的时间提升权限chmod+xbackup.sh#需要先设置为可执行脚本,只需要设置一次手动测试一下./backup.sh4.1.3设置脚本定时执行使用root执行vi/etc/crontab#在最后一行添加1017***oracle/home/oracle/backup.sh#每天的17:10执行/home/oracle/backup.sh命令用法*****:代表执行时间间隔分别表示:分钟:0-59小时:1-23日期:1-31月份:1-12星期:0-6(0表示周日)Oracle数据库自动备份手册3还可以用一些特殊符号:*:表示任何时刻,:表示分割-:表示一个段,如第二端里:1-5,就表示1到5点/n:表示每个n的单位执行一次,如第二段里,*/1,就表示每隔1个小时执行一次命令。也可以写成1-23/1.一些示例4321***21:43执行1505***05:15执行017***17:00执行017**1每周一的17:00执行0,1017**0,2,3每周日,周二,周三的17:00和17:10执行0-10171**毎月1日从17:00到7:10毎隔1分钟执行001,15*1毎月1日和15日和一日的0:00执行4241**毎月1日的4:42分执行021**1-6周一到周六21:00执行0,10,20,30,40,50****每隔10分执行*/10****每隔10分执行*1***从1:0到1:59每隔1分钟执行01***1:00执行0*/1***毎时0分每隔1小时执行0****毎时0分每隔1小时执行28-20/3***8:02,11:02,14:02,17:02,20:02执行3051,15**1日和15日的5:30执行在实际使用过程中需要根据数据库膨胀的速度考虑备份定时的时间,一般膨胀越快,备份越频繁,如每天一次晚上23:00备份;数据库文件较大时,可适当降低备份频率,如2天或3天备份一次,同时增加删除频率,如只保留最近10天的数据。需要注意备份路径所在的磁盘空间大小,一般使用df–hl查询,如果空间太小需要及时手动清理或增大空间。oracle:执行脚本的用户/home/oracle/backup.sh:执行脚本的路径
本文标题:Oracle数据库自动备份手册forlinux
链接地址:https://www.777doc.com/doc-2884913 .html