欢迎来到天天文库
浏览记录
ID:9160330
大小:312.50 KB
页数:5页
时间:2018-04-19
《全台网数据库备份方案设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、全台网数据库备份方案设计与实现田小马【摘要】结合南通电视台全台网中数据库的实际应用情况,从两种电视台常用的数据库系统出发,通过利用系统与数据库自身的功能,通过简短有效的代码来实现Oralce与SQLServer数据库的自动备份与恢复,减少维护人员的工作复杂度。【关键字】Oracle10gSQLServer2005存储过程shell自动恢复自动备份群集南通电视台以建设电视制作播出新大楼为契机,紧跟时代潮流,引入全新的电视节目生产方式和现代化高新技术,引入先进的媒体产业观念和科学的管理手段,全面推进现代化管理,保证可持续发展战略目标的实现。南通
2、电视台全台网系统由主干平台及采集收录、新闻网络、二套制作、广告制作、媒资网络、播出系统等业务板块组成,其总体架构如图1所示:图1在整个全台网中各个子系统都需要用数据库来保存元数据信息,数据高度共享化的网络对数据安全有相当高的要求。在网络中承担数据服务信息管理和网络结构信息控制的服务器需要具备周全的安全和应急策略,因此数据库的安全是全台网中的一个重点考虑方面,为了能够保证数据库信息的安全,我们采用了多层备份机制,总体思路如图2所示:图2数据库系统的我们根据不同的应用需求以及对数据库的不同选用了2种数据库,中心媒资系统采用的是甲骨文的ORACL
3、E10g,其他系统采用的是微软的SQLSERVER2005企业版。针对不同的数据库类型备份方法也有所不同,但备份的最终目的是一致的,即保证数据安全,保证在提供服务器的数据库出现故障时能够第一时间快速的让全台网的各个子系统能够恢复正常使用。本文的重点是介绍如何利用环境的自身特点,在不使用第三方软件的情况来实现数据库的自动备份与恢复。下面将分别介绍ORACLE与SQLServer的备份与恢复方法。(一)ORACLE10g数据库的备份方案1.运行环境:ORACLE10g运行在RedHatLinux4Enterprise,采用2台服务器做ORACL
4、E10g的RAC(realapplicationclusters),两台服务器使用一个DFT的共享盘阵。RAC是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。同时采用2台服务器作为冷备。2.备份与恢复实现:在Oracle数据库中主要有两种数据备份和恢复工具,一种是Oracle恢复管理器(RMAN),一种是OracleEXPORT。RMAN备份是一种物理备份方法,RMAN有丰富的特
5、性集如闪回恢复、块变化跟踪和实际备份压缩等,这些特性允许在几乎任何情况下备份和恢复数据库,Oracle自身提供了GUI和命令行界面两种方法,我们的目标是实现自动化的备份与恢复,因此我们均采用命令行命令来进行备份恢复操作,利用Linux的shell命令与Oracle脚本相结合的代码脚本可以完全达到我们的备份恢复要求,同时也不需要维护人员的过多手动输入,减少人为误操作的发生。在设置ORACLE的环境变量我之后我们就可以用RMAN命令对数据库进行备份,图3是我们使用物理备份的一个流程图:图3依据备份流程图写成备份代码的核心如图4所示:图4冷备服务
6、器在备份完成后需要自动的将最新的备份恢复到冷备服务器上运行的数据库中,由于冷备服务器上采用的是逻辑备份因此我们可以很方便的使用Oracle的逻辑备份工具EXPORT来实现我们的备份与恢复,Oracle提供的exp与imp可以很方便的实现我们需要的逻辑备份,典型的代码如:备份一个数据库expsystem/aaa@oradbfile=/bak/expdb/nttvuser.dmpowner=nttvuserbuffer=102400000consistent=ystatistics=nonelog=/bak/expdb/exp_nttvuser
7、.log,恢复一个数据库impsystem/aaa@backupdbfile=/bak/expdb/nttvuser.dmpfromuser=nttvusertouser=nttvuserbuffer=102400000log=/bak/expdb/imp_nttvuser.log。同时在逻辑备份服务器上同样也需要保留多个备份因此使用Linux的文件移动(mv)和删除(rm)命令将多个备份保存在多个文件夹下可以很方便的实现,冷备服务器的备份与恢复流程如图5所示:图5通过以上的流程所编写的代码已经可以实现我们的备份与恢复,但是要求能够定时自动
8、需要我们用到计划任务这一功能,在Linux与Windows平台下都有这个功能,因此我们可以通过修改Linux下的计划任务crontab来实现定时自动运行,通过shell脚本以及o
此文档下载收益归作者所有