本发明专利技术公开了一种ORACLE数据备份方法,属于数据备份方法,本发明专利技术要解决的技术问题为无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理。技术方案为:包括如下步骤:(1)创建备份目录和脚本目录并赋权限;(2)编写exp数据自动备份shell脚本;(3)执行crontab –e,同时编辑定时脚本。
【技术实现步骤摘要】
本专利技术涉及一种数据备份方法,具体地说是一种ORACLE数据备份方法。
技术介绍
一般中小型规模的数据库在进行数据库备份时,没有单独购买或者部署备份软件,期望通过定时任务功能定期执行shell脚本进行数据的备份。但是在备份过程中对数据的保留时间和过期数据的清理上存在手动干预的情况,即无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理。
技术实现思路
本专利技术的技术任务是提供一种ORACLE数据备份方法,来解决无法执行一次定时任务和shell脚本实现数据备份、有效数据保留和过期数据清理的问题。本专利技术解决其技术问题所采用的技术方案是:包括如下步骤: (1)创建备份目录和脚本目录并赋权限; (2)编写exp数据自动备份shell脚本; (3)执行crontab_ e,同时编辑定时脚本。本专利技术一种ORACLE数据备份方法和现有技术相比,具有以下有益效果: 1、本专利技术设计合理,通过模块化、简单编程的shell脚本可以灵活适用各种不同的备份策略需求且不同需求变化时改动最小,同时本新型在所有存在类似备份需求的oracle数据库环境中都有普遍适用性; 2、编写一个模块化的shell脚本,在脚本中各个功能模块界限清晰,在不同环境下需要调整适合具体环境的备份策略时,只需要做简单的修改即可完全适用。同时对备份数据的保留周期和过期数据的删除工作也在脚本中同时执行,并且针对不同的数据保留时间可以灵活修改; 3、本专利技术能够完成数据的备份、备份数据灵活设置保留周期和超过保留周期数据的自动删除功能,并且这个shell脚本针对oracle数据库具有普遍适用的特点,通过部署本新型shell脚本可以大大提高数据库备份的安全型,减少人工工作量提高工作效率。本专利技术具有设计合理、使用方便、一物多用等特点,因而,具有很好的推广使用价值。【具体实施方式】下面通过具体实施例对本专利技术作进一步说明。本专利技术的一种ORACLE数据备份方法,包括如下步骤: (1)创建备份目录和脚本目录并赋权限; su - oracle mkdir - p /oracle/backup/script ## 备份脚本存放目录 chmod - R a+x /oracle/backup/script mkdir - P /oracle/dbback ##备份文件与日志存放目录chmod - R a+x /oracle/dbback (2)编写exp数据自动备份shell脚本; 脚本内容:#!/bin/bashexport PATH=〃/usr/jdkL 6.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 ’ { print substr($5, 1) }’ |cut -d 〃%〃 -f 1' export DISK—SIZE # 获取 linux 服务器上/dev/mapper/mpath0p2 (备份文件保存位置)的磁盘使用率,此处路径以实际环境为准LANG=zh_CN.UTF-8export LANG #判断磁盘空间是否大于85%如果大于85%就直接退出执行 if ; thenecho DISK—SIZE is $DISK_SIZE over 85exitelseecho DISK—SIZE=$DISK—SIZEfiexport NLS—LANG=AMERICAN—AMERICA.ZHS16GBK #oralce安装的路径ORACLE—BASE=/oracleexport ORACLE—BASE0RACLE_H0ME=/oracle/product/10.2.0export ORACLE—HOME #ralce安装的路径ORACLE—SID=orclexport ORACLE—SID#BAK—PATH is a path that store your exp fileBAK—PATH=〃/oracle/dbback"#L0G—FILE is a file that recorde the results of exportLOG—FILE="$BAK—PATH"/'date +%Y%m%d'_brief, log#Define the exp userUSER=jlgs#Define the exp user’s passwordPASSWD=jlgs0516#Determine the current user nameQJSER='id I cut _d"(" -f2 | cut _d ")" -f 1'#Define the retent1n days of your backup fileDAYS=1##备份文件保存天数#It is unnecessary to edit the the below text in normal condit1n.氺 echo 〃The start time is: 〃'date' >> $L0G—FILE echo ? $L0G_FILEif ; thenecho DISK—SIZE is $DISK_SIZE over 85|tee —a $L0G_FILEexitelseecho DISK_SIZE=$DISK_SIZE|tee -a $L0G_FILEfi#Define the backup file nameBAK_FILE=jlgs_'date +%Y%m%d_%w'_exp.dmp#Define the backup log file nameBAK—L0G=jigs—'date +%Y%m%d_%w'_exp.log#Define your backup commandCMD_STR=//setenv ORACLE—HOME $0RACLE_H0ME exp $USER/$PASSWD@$ORACLE_SID buffer=65535 file=$BAK_PATH/$BAK_FILElog=$BAK_PATH/$BAK_LOG tables=NB—ALTER—HIS ## 本例是备份数据库中的一张表,如需备份多张表格式为tables=tablel,table2,...., tablen,如需备份全库,则将tables参数替换为full=y,此处的备份语句可以根据客户现场实际的备份需求进行数据库exp语句的替换即可。#Begin backupecho 〃Backup is started,, >>$L0G—FILE echo 〃......">>$L0G—FILE if then su - oracle -c "$CMD—STR" ? $L0G_FILE RSTAT=$?else /bin/bas本文档来自技高网...
【技术保护点】
一种ORACLE数据备份方法,其特征在于:包括如下步骤:(1)创建备份目录和脚本目录并赋权限;(2)编写exp数据自动备份shell脚本;(3)执行crontab –e,同时编辑定时脚本。
【技术特征摘要】
【专利技术属性】
技术研发人员:关坤龙,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。