您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > ORACLE备份方案
ORACLE定时备份方案采用ORACLE的EXPDP工具,实现ORACLE的备份;采用LINUX的服务crond实现定时功能。1编辑SH,实现备份功能#vioracle_backup.sh,输入以下内容#!/bin/shORACLE_BACKUP_HOME=/u01/dump#定义ORACLE备份根目录BACKUP_DATA=$ORACLE_BACKUP_HOME/day#定义ORACLE备份数据文件根目录BACKUP_LOG=$BACKUP_DATA/log#定义ORACLE备份日志文件根目录exportORACLE_BACKUP_HOMEBACKUP_DATABACKUP_LOGDATA_FILE_NAME=data_backup#定义ORACLE备份日志文件名字前缀LOG_FILE_NAME=log_backup#定义ORACLE备份日志文件名字前缀exportDATA_FILE_NAMELOG_FILE_NAMEBACKUP_AMOUNT=4#定义ORACLE备份文件保存数量exportBACKUP_AMOUNTdatafile_amount=$(find$BACKUP_DATA-typef-name$DATA_FILE_NAME'_'*.dmp|wc-l)#查询ORACLE备份数据文件根目录下备份数据文件的数量logfile_amount=$(find$BACKUP_LOG-typef-name$LOG_FILE_NAME'_'*.log|wc-l)#查询ORACLE备份日志文件根目录下备份日志文件的数量del_datafile_count=$(($datafile_amount-$BACKUP_AMOUNT+1));#计算需要删除ORACLE备份数据文件的数量del_logfile_count=$(($datafile_amount-$BACKUP_AMOUNT+1));#计算需要删除ORACLE备份日志文件的数量if(($datafile_amount=$BACKUP_AMOUNT));thenecho$BACKUP_DATA路径下文件太多,正在清除备份数据文件for((i=0;i$del_datafile_count;i++))dols-t$BACKUP_DATA/$DATA_FILE_NAME'_'*.dmp|awk'END{if(NR=$BACKUP_AMOUNT){system(rm-rf$NF);system(echo$BACKUP_DATA路径下,已删除文件$NF)}}'#删除修改时间最早的一个数据文件donefiif(($logfile_amount=$BACKUP_AMOUNT));thenecho$BACKUP_LOG路径下文件太多,正在清除备份日志文件for((i=0;i$del_logfile_count;i++))dols-t$BACKUP_LOG/$LOG_FILE_NAME'_'*.log|awk'END{if(NR=$BACKUP_AMOUNT){system(rm-rf$NF);system(echo$BACKUP_LOG路径下,已删除文件$NF)}}'#删除修改时间最早的一个日志文件donefirq=`date+%Y%m%d%s`#获取当前系统时间su-oracle-c/opt/oracle/product/10.2.0/db_1/bin/expcms_project_j2ee/cms_project@ORCLfile=$BACKUP_DATA/$DATA_FILE_NAME'_'$rq.dmplog=$BACKUP_LOG/$LOG_FILE_NAME'_'$rq.log#备份ORACLE数据库并记录日志2授予ORACLE用户使用备份目录权限#mkdir/u01/dump#chown–R/u01/dump用oracle用户登陆执下以下命令#sqlplus/nologSqlconn/assysdbaSqlcreatedirectorydirectory1as'/u01/dump/';----创建逻辑目录,无论手工还是定时备份,路径默认指向该文件夹3使用crond定制定时任务#ps-ef|grepcrond#查看crond服务是否开启#servicecrondstart|stop|restart#crond服务启动|停止|重启命令#crontab–e,输入以下内容00***/root/oracle_bak.sh#每天00:30执行任务*****commandtobeexecuted-----|||||||||-----Dayofweek(0-6)(Sunday=0)|||-------Month(1-12)||---------Dayofmonth(1-31)|-----------Hour(0-23)-------------Minute(0-59)ORACLE手工备份方案oracle用户登陆输入以下命令#expdphdnc_yy/hdnc_yydirectory=dpdata1dumpfile=zs_XXXX.dmp;文件备份在/u01/dump/路径下ORACLE数据迁移ROOT用户登陆输入以下命令#touchfile1.txt----创建文件夹#vifile1.txt把以下内容复制进去date=$(date+%Y_%m_%d)bakdata=$date.zipmount-tcifs-ousername=*******,password=*******//10.0.1.209/bak/NC_ERP_bak/u01/dump/NC_bakcp/u01/dump/$bakdata/u01/dump/NC_bak/umount-l/u01/dump/NC_bak把备份的数据压缩后,转移至209服务器上的back文件夹下,实现数据存放专属服务器。应用数据迁移ROOT用户登陆输入以下命令#mkdiryonyou_XXXX----创建文件夹#cp–rfyonyou/*yonyou_XXXX把yonyou下面的所有文件复制到新建的yonyou_XXXX文件夹中#zip–rfyonyou_XXXX.ZIPyonyou_XXXX转成压缩包并通过第三方工具,把备份文件进行转移
本文标题:ORACLE备份方案
链接地址:https://www.777doc.com/doc-3549016 .html