欢迎来到天天文库
浏览记录
ID:56825880
大小:18.50 KB
页数:3页
时间:2020-07-15
《ORACLE定时备份方案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORACLE定时备份方案采用ORACLE的EXP工具,实现ORACLE的备份;采用LINUX的服务crond实现定时功能。1编辑SH,实现备份功能#vioracle_backup.sh,输入以下内容#!/bin/shORACLE_BACKUP_HOME=/home/oracle/backup#定义ORACLE备份根目录BACKUP_DATA=$ORACLE_BACKUP_HOME/day#定义ORACLE备份数据文件根目录BACKUP_LOG=$BACKUP_DATA/log#定义ORACLE备份日志文件根目录exportORACLE_BACKUP_
2、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
3、wc-l)#查询ORAC
4、LE备份数据文件根目录下备份数据文件的数量logfile_amount=$(find$BACKUP_LOG-typef-name$LOG_FILE_NAME'_'*.log
5、wc-l)#查询ORACLE备份日志文件根目录下备份日志文件的数量del_datafile_count=$(($datafile_amount-$BACKUP_AMOUNT+1));#计算需要删除ORACLE备份数据文件的数量del_logfile_count=$(($datafile_amount-$BACKUP_AMOUNT+1));#计算需要删除ORACLE备份日志文件的数
6、量if(($datafile_amount>=$BACKUP_AMOUNT));thenecho$BACKUP_DATA"路径下文件太多,正在清除备份数据文件"for((i=0;i<$del_datafile_count;i++))dols-t$BACKUP_DATA/$DATA_FILE_NAME'_'*.dmp
7、awk'END{if(NR>=$BACKUP_AMOUNT){system("rm-rf"$NF);system("echo$BACKUP_DATA路径下,已删除文件"$NF)}}'#删除修改时间最早的一个数据文件donefiif(($l
8、ogfile_amount>=$BACKUP_AMOUNT));thenecho$BACKUP_LOG"路径下文件太多,正在清除备份日志文件"for((i=0;i<$del_logfile_count;i++))dols-t$BACKUP_LOG/$LOG_FILE_NAME'_'*.log
9、awk'END{if(NR>=$BACKUP_AMOUNT){system("rm-rf"$NF);system("echo$BACKUP_LOG路径下,已删除文件"$NF)}}'#删除修改时间最早的一个日志文件donefirq=`date+"%Y%m%d%s"
10、`#获取当前系统时间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/home/oracle/backup#mkdir/home/oracle/backup/day#mkdir/hom
11、e/oracle/backup/day/log#chown–R/home/oracle/backup3使用crond定制定时任务#ps-ef
12、grepcrond#查看crond服务是否开启#servicecrondstart
13、stop
14、restart#crond服务启动
15、停止
16、重启命令#crontab–e,输入以下内容00***/root/oracle_bak.sh#每天00:00执行任务001**/root/oracle_bak.sh#每月1号00:00执行任务*****commandtobeexecuted-----
17、
18、
19、
20、
21、
22、
23、
24、
25、-----D
26、ayofweek(0-6)(Sunday=0)
27、
28、
29、-------Month(1-12)
30、
31、--------
此文档下载收益归作者所有