一种oracle数据备份方法

文档序号:9616344阅读:304来源:国知局
一种oracle数据备份方法【
技术领域
】[0001]本发明涉及一种数据备份方法,具体地说是一种ORACLE数据备份方法。【
背景技术
】[0002]一般中小型规模的数据库在进行数据库备份时,没有单独购买或者部署备份软件,期望通过定时任务功能定期执行shell脚本进行数据的备份。但是在备份过程中对数据的保留时间和过期数据的清理上存在手动干预的情况,即无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理。[0003]【
发明内容】本发明的技术任务是提供一种ORACLE数据备份方法,来解决无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理的问题。[0004]本发明解决其技术问题所采用的技术方案是:包括如下步骤:(1)创建备份目录和脚本目录并赋权限;(2)编写exp数据自动备份shell脚本;(3)执行crontab_e,同时编辑定时脚本。[0005]本发明一种ORACLE数据备份方法和现有技术相比,具有以下有益效果:1、本发明设计合理,通过模块化、简单编程的shell脚本可以灵活适用各种不同的备份策略需求且不同需求变化时改动最小,同时本新型在所有存在类似备份需求的oracle数据库环境中都有普遍适用性;2、编写一个模块化的shell脚本,在脚本中各个功能模块界限清晰,在不同环境下需要调整适合具体环境的备份策略时,只需要做简单的修改即可完全适用。同时对备份数据的保留周期和过期数据的删除工作也在脚本中同时执行,并且针对不同的数据保留时间可以灵活修改;3、本发明能够完成数据的备份、备份数据灵活设置保留周期和超过保留周期数据的自动删除功能,并且这个shell脚本针对oracle数据库具有普遍适用的特点,通过部署本新型shell脚本可以大大提高数据库备份的安全型,减少人工工作量提高工作效率。[0006]本发明具有设计合理、使用方便、一物多用等特点,因而,具有很好的推广使用价值。【具体实施方式】[0007]下面通过具体实施例对本发明作进一步说明。[0008]本发明的一种ORACLE数据备份方法,包括如下步骤:(1)创建备份目录和脚本目录并赋权限;su-oraclemkdir-p/oracle/backup/script##备份脚本存放目录chmod-Ra+x/oracle/backup/scriptmkdir-P/oracle/dbback##备份文件与日志存放目录chmod-Ra+x/oracle/dbback(2)编写exp数据自动备份shell脚本;脚本内容:#!/bin/bashexportPATH=〃/usr/jdkL6.0_45/bin:/bin:/usr/1ib/qt-3.3/bin:/usr/kerberos/bin:/usr/1ocal/bin:/bin:/usr/bin:/home/oracle/bin:/home/oracle/bin:/oracle/product/10.2.0/bin:/crs/bin〃##与用户环境变量保持一致DISK—SIZE='df-k|grep/dev/mapper/mpath0p2|awk’{printsubstr($5,1)}’|cut-d〃%〃-f1'exportDISK—SIZE#获取linux服务器上/dev/mapper/mpath0p2(备份文件保存位置)的磁盘使用率,此处路径以实际环境为准LANG=zh_CN.UTF-8exportLANG#判断磁盘空间是否大于85%如果大于85%就直接退出执行if[$DISK_SIZE-gt85];thenechoDISK—SIZEis$DISK_SIZEover85exitelseechoDISK—SIZE=$DISK—SIZEfiexportNLS—LANG=AMERICAN—AMERICA.ZHS16GBK#oralce安装的路径ORACLE—BASE=/oracleexportORACLE—BASE0RACLE_H0ME=/oracle/product/10.2.0exportORACLE—HOME#ralce安装的路径ORACLE—SID=orclexportORACLE—SID#BAK—PATHisapaththatstoreyourexpfileBAK—PATH=〃/oracle/dbback"#L0G—FILEisafilethatrecordetheresultsofexportLOG—FILE="$BAK—PATH"/'date+%Y%m%d'_brief,log#DefinetheexpuserUSER=jlgs#Definetheexpuser’spasswordPASSWD=jlgs0516#DeterminethecurrentusernameQJSER='idIcut_d"("-f2|cut_d")"-f1'#Definetheretent1ndaysofyourbackupfileDAYS=1##备份文件保存天数#Itisunnecessarytoeditthethebelowtextinnormalcondit1n.氺echo〃Thestarttimeis:〃'date'>>$L0G—FILEecho?$L0G_FILEif[$DISK_SIZE-gt85];thenechoDISK—SIZEis$DISK_SIZEover85|tee—a$L0G_FILEexitelseechoDISK_SIZE=$DISK_SIZE|tee-a$L0G_FILEfi#DefinethebackupfilenameBAK_FILE=jlgs_'date+%Y%m%d_%w'_exp.dmp#DefinethebackuplogfilenameBAK—L0G=jigs—'date+%Y%m%d_%w'_exp.log#DefineyourbackupcommandCMD_STR=//setenvORACLE—HOME$0RACLE_H0MEexp$USER/$PASSWD@$ORACLE_SIDbuffer=65535file=$BAK_PATH/$BAK_FILElog=$BAK_PATH/$BAK_LOGtables=NB—ALTER—HIS##本例是备份数据库中的一张表,如需备份多张表格式为tables=tablel,table2,....,tablen,如需备份全库,则将tables参数替换为full=y,此处的备份语句可以根据客户现场实际的备份需求进行数据库exp语句的替换即可。[0009]#Beginbackupecho〃Backupisstarted,,>>$L0G—FILEecho〃......">>$L0G—FILEif["$CUSER"="root"]thensu-oracle-c"$CMD—STR"?$L0G_FILERSTAT=$?else/bin/bash_c"$CMD—STR"?$L0G_FILERSTAT=$?fiif["$RSTAT"="0〃]thenecho〃BackuptoHarddiskisendedsuccessful!,,>>$L0G—FILEelseecho〃Notice!Backupharddiskisendedunsuccessful!,,》$L0G—FILEfi#compress##对备份数据进行压缩#yestoday='date+%D|awk_F/{s=$2-2}{printf//20%02d%02d%02d\n//J$3,$l,s},'cd$BAK_PATH#CMP—FILE="yujing—"$yestoday"—full,dmp"echo"Compress"$BAK—FILE?$L0G_FILEgzip$BAK_FILE#Delete1daysagofileOLDFILE=jlgs_'date_d,1daysago’+%Y%m%d_%w'_exp.dmp.gzXdaysago,根据具体数据保留时间而定0LDL0G=jlgs_'date_d,1daysago’+%Y%m%d_%w'_exp.log#同上0LDL0G_FILE='date_d’1daysago’+%Y%m%d—brief,log#同上rm-rf/orac1e/dbback/$0LDFILE##删除1天前的备份数据rm-rf/oracle/dbback/$0LDL0G##删除1天前的备份日志rm-rf/orac1e/dbback/$0LDL0G_FILE##删除1天前的备份操作日志echo?$L0G_FILEecho〃BackuptoHarddiskEndtimeis:〃'date'>>$L0G—FILE(3)执行crontab-e,同时编辑定时脚本。[0010]0022***J/oracle/backup/script/dbback.shJ2>&1>/dev/null定时任务执行时间和间隔根据客户实际需求确定通过上面【具体实施方式】,所述
技术领域
的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的【具体实施方式】。在公开的实施方式的基础上,所述
技术领域
的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。【主权项】1.一种ORACLE数据备份方法,其特征在于:包括如下步骤:(1)创建备份目录和脚本目录并赋权限;(2)编写exp数据自动备份shell脚本;(3)执行crontab_e,同时编辑定时脚本。【专利摘要】本发明公开了一种ORACLE数据备份方法,属于数据备份方法,本发明要解决的技术问题为无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理。技术方案为:包括如下步骤:(1)创建备份目录和脚本目录并赋权限;(2)编写exp数据自动备份shell脚本;(3)执行crontab?–e,同时编辑定时脚本。【IPC分类】G06F17/30,G06F11/14【公开号】CN105373625【申请号】CN201510903876【发明人】关坤龙【申请人】浪潮电子信息产业股份有限公司【公开日】2016年3月2日【申请日】2015年12月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1