- 论坛徽章:
- 0
|
目 录
1 基于服务器冷备模式备份和恢复.... 2
1.1 思想... 2
1.2 具体功能... 2
1.3 适用范围... 3
1.4 备份与恢复的技术实现... 3
1.4.1 安装... 3
1.4.2 配置... 4
1.4.3 备份周期... 6
1.4.4 功能体验... 6
1.4.5 文件命名规则... 8
1.5 数据检查... 8
2 脚本介绍.... 9
2.1 脚本结构... 9
2.2 脚本内容... 9
1 基于服务器冷备模式备份和恢复
1.1 思想
采用Oracle9i自带的备份恢复工具Export和Import,结合Linux脚本强大功能编写的具有自动导出、导入Oracle数据库且自动上传到指定的远程FTP备份服务器并根据自定义天数保留在本地和FTP服务器上的全自动脚本工具,避免因为本地灾难引发的数据无法恢复等问题的发生。
1.2 具体功能
l 结合Cron服务随意定制启动备份工具策略;
l 自动备份Oracle数据文件;
l 自动恢复Oracle 数据文件到指定的备机,同时支持多台备机;
l 对Oracle备份出的数据较验和归档;
l 自动上传备份数据文件到指的FTP服务器;
l 自动删除本地自定义天数历史备份文件;
l 自动删除FTP服务器上自定义天数历史备份文件;
l 提供备份日志查询文件;
l 系统将警告和结果公布在登陆界面;
l 中文界面,要求访问客户端支持 zh_CN语言包;
1.1 适用范围
适用于基于冷备模式服务器环境,且对数据同步要求不是很高,数据容差量大于1小时以上的范围。
1.2 备份与恢复的技术实现
1.2.1 安装
1. 将 文件下面的所有文件复制到root帐户下的任意目录下;
2. 进入Bak2Ftp查看bak2ftp是否有执行权限,如果没有执行权限请用chmod +x bak2ftp赋于脚本执行权限;
1.2.2 配置
1.2.2.1 脚本配置
第一次运行脚本将生成相关配置文件,脚本将提示修改/tmp/Bak2Ftp/install_path.conf文件和…/config/init.conf文件。
#vi /tmp/Bak2Ftp/install_path.conf
Bak2Ftp_PATH=/data/Doc/Bak2Ftp #这里比如安装在/data/Doc/Bak2Ftp目录
# vi /data/Doc/Bak2Ftp/config/init.con
#Bak2Ftp环境设置
Bak2Ftp_PATH=/data/Doc/Bak2Ftp #安装路径
SYSLOG=/data/Doc/Bak2Ftp/logs/syslog.txt #日志文件
#ORACLE环境变量
ORACLE_BASE=/oradata
ORACLE_HOME=/oradata/product/9.2.0.1.0
ORACLE_SID=DDPTEST
oratab=/etc/oratab #ORACLE默认安装位置,不用修改。
#ORACLE备份帐户
USERNAME=ddp #所要备份的ORACLE用户的用户名
PASSWORD=123456 #所要备份的ORACLE用户的口令
MY_ALIAS=DDPTEST #ORACLE的TNS名
SYSTEM_PASSWORD=123456 #ORACLE SYSTEM 帐户的口令
#主机常规设置
ACTIVE_HOST_ID=1 #本机是备机请变量值为0,主机时为1.
MYHOST_IP=192.168.1.139 #本机IP地址,最好设置为公网IP。
#备机常规设置
BACKUP_HOST_ID=0 #本机是备机请变量值为1,主机时为0.
#备份设置
DUMP_DIR=/data/Doc/Bak2Ftp/data/backup #本机备份目录
#远程备份主机的设置
BACKHOST_IP=192.168.2.234 #远程FTP服务器IP地址
BACKHOST_FTP_USERNAME=oracle #FTP服务器访问用户名
BACKHOST_FTP_PASSWORD=oracle #FTP服务器访问密码
BACKUP_DIR=ftptest #FTP服务器上的备份路径
#定义备份保留天数
KEEP_DAYS=3 #备份文件保留天数
1.2.2.2 Crontab配置
备份时间策略到CRONTAB条目里面。
[root@test root]# crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/jdk/bin:/opt/tomcat/bin:/opt/inprise/vbroker/bin: /opt/inet/bin:/home/oracle/product/9.2/bin
MAILTO=root
HOME=/
# run-parts
#01 * * * * root run-parts /etc/cron.hourly
#02 4 * * * root run-parts /etc/cron.daily
#22 4 * * 0 root run-parts /etc/cron.weekly
#42 4 1 * * root run-parts /etc/cron.monthly
#每天1:00执行Bak2FTP
0 1 * * * (source /home/oracle/.bash_profile;/data/Doc/Bak2Ftp/bak2ftp)
主机每天运行的的备份次数要求与备机每天运行恢复次数相同,且要主机的备份完成之后方可执行恢复程序,请注意Crontab时间上的分配。
这样就完成所有备份、恢复设置工作,以后Bak2FTP就可以自动备份和恢复Oracle数据库。
1.2.3 备份周期
备份周期可以根据各地方的实际要求定义CRONTAB的调度配置。
1.2.4 功能体验
1.2.4.1 远程备份数据
C: >ftp -n 192.168.2.234
Connected to 192.168.2.234.
220 (vsFTPd 1.2.1)
ftp> user oracle xxxxxx
331 Please specify the password.
230 Login successful.
ftp> cd ftptest
250 Directory successfully changed.
ftp> ls -l
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 500 501 41943040 Nov 16 07:37 Oracle-DDPTEST-192.168.1.139-2006-320-1.tar
-rw-r--r-- 1 500 501 41943040 Nov 16 07:38 Oracle-DDPTEST-192.168.1.139-2006-320-2.tar
-rw-r--r-- 1 500 501 41943040 Nov 16 07:45 Oracle-DDPTEST-192.168.1.139-2006-320-3.tar
-rw-r--r-- 1 500 501 143360 Nov 16 08:18 Oracle-srtime-192.168.2.234-2006-320-1.tar
-rw-r--r-- 1 500 501 143360 Nov 16 08:27 Oracle-srtime-192.168.2.234-2006-320-2.tar
226 Directory send OK.
ftp: 收到 503 字节,用时 0.02Seconds 31.44Kbytes/sec.
ftp>
1.2.4.2 本地日志
备份日志
2006-11-16-15:40:25----Bak2Ftp开始启动...
2006-11-16-15:40:25----系统开始读取Bak2Ftp的环境配置。
2006-11-16-15:40:25----系统开始读取ORACLE的环境配置。
2006-11-16-15:40:25----系统开始读取ORACLE备份帐户信息。
2006-11-16-15:40:25----系统开始读取主机常规设置户信息。
2006-11-16-15:40:25----系统开始读取远程备份主机的信息。
2006-11-16-15:40:26----系统开始读取备份保留天数。
2006-11-16-15:40:26----系统读取配置信息完成。
2006-11-16-15:40:26----系统的配置文件:/data/Doc/Bak2Ftp/config/init.conf己锁定。
2006-11-16-15:40:26----系统的日志文件:/data/Doc/Bak2Ftp/logs/syslog.txt己锁定。
2006-11-16-15:40:26----Bak2FTP 连结到Oracle测试...
2006-11-16-15:40:26----正在进行ftp服务器的ping测试。
2006-11-16-15:40:28----网络测试结果:OK
2006-11-16-15:40:28----ftp服务器的ping测试测试完毕。
2006-11-16-15:40:28----Oracle Tnsping连接测试:OK!
2006-11-16-15:40:28----识别到本机:XuQQ为数据库主机,程序将执备份程序...
2006-11-16-15:40:28----Oracle正在进行当天的第2次export数据导出...
2006-11-16-15:40:35----Oracle export数据导出完毕.
2006-11-16-15:40:35----系统开始归档DUMP文件...
2006-11-16-15:40:35----系统检测到共1个Dump文件.
2006-11-16-15:40:40----DUMP文件归档完毕,其文件为:/data/Doc/Bak2Ftp/data/backup/Oracle-DDPTEST-192.168.1.139-2006-320-2.tar
2006-11-16-15:40:40----Bak2Ftp将清理3天前的备份数据...
2006-11-16-15:40:40----系统将清除FTP服务器:192.168.2.234上3天前的备份数据.
2006-11-16-15:40:40----Bak2Ftp清除FTP服务器:192.168.2.234上3天前的备份数据完毕.
2006-11-16-15:40:40----系统将传输文件到192.168.2.234.
2006-11-16-15:40:46----传输文件:/data/Doc/Bak2Ftp/data/backup/Oracle-DDPTEST-192.168.1.139-2006-320-2.tar 到 192.168.2.234:ftptest/Oracle-DDPTEST-192.168.1.139-2006-320-2.tar成功.
2006-11-16-15:40:46----Bak2Ftp备份执行完毕,请检查备份文件和日志文件.
恢复日志
2006-11-16-16:15:42----Bak2Ftp开始启动...
2006-11-16-16:15:42----系统开始读取Bak2Ftp的环境配置。
2006-11-16-16:15:42----系统开始读取ORACLE的环境配置。
2006-11-16-16:15:42----系统开始读取ORACLE备份帐户信息。
2006-11-16-16:15:42----系统开始读取主机常规设置户信息。
2006-11-16-16:15:43----系统开始读取远程备份主机的信息。
2006-11-16-16:15:43----系统开始读取备份保留天数。
2006-11-16-16:15:43----系统读取配置信息完成。
2006-11-16-16:15:43----系统的配置文件:/data/Doc/Bak2Ftp/config/init.conf己锁定。
2006-11-16-16:15:43----系统的日志文件:/data/Doc/Bak2Ftp/logs/syslog.txt己锁定。
2006-11-16-16:15:43----Bak2FTP 连结到Oracle测试...
2006-11-16-16:15:43----正在进行ftp服务器的ping测试。
2006-11-16-16:15:45----网络测试结果:OK
2006-11-16-16:15:45----ftp服务器的ping测试测试完毕。
2006-11-16-16:15:45----Oracle Tnsping连接测试:OK!
2006-11-16-16:15:45----识别到本机:XuQQ为数据库备机,程序将执恢复程序...
2006-11-16-16:15:45----系统将从192.168.2.234下载备份文件:Oracle-DDPTEST-192.168.1.139-2006-320-9.tar到本机:XuQQ.
2006-11-16-16:15:45----DUMP归档文件下载失败,有可能原文件不存在,系统将尝试恢复当天第一次备份文件的恢复,从FTP服务器下载Oracle-DDPTEST-192.168.1.139-2006-320-1.tar 。
2006-11-16-16:15:50----DUMP归档文件下载完毕,其文件为:/data/Doc/Bak2Ftp/data/backup/Oracle-DDPTEST-192.168.1.139-2006-320-1.tar
2006-11-16-16:15:50----系统正在进行归档的Dump文件...
2006-11-16-16:15:51----系统正在进行归档的Dump文件完毕。
2006-11-16-16:15:51----Oracle正在进行当天的第1次备份数据的导入...
2006-11-16-16:15:52----Oracle Import 数据导入完毕.请检查数据的一致性!
2006-11-16-16:15:52----清除Import导入所需的临时文件...
2006-11-16-16:15:52----清除Import导入所需的临时文件完毕。
2006-11-16-16:15:52----Bak2Ftp恢复执行完毕,请检查数据库的一致性.
1.2.5 文件命名规则
1.3 数据检查
脚本在执行恢复操作完成之后,需要人工核对数据。如果对于要求相当高的备份数据库建议不采用这种方式,提倡使用ORACLE的数据保护功能,配置备用库的方式来解决。
2 脚本介绍
2.1 脚本结构
`
2.2 脚本内容
长度限制,请查阅附件!
[ 本帖最后由 dighdypea 于 2006-12-8 00:15 编辑 ] |
评分
-
查看全部评分
|