已阅读5页,还剩82页未读, 继续免费阅读
(计算机软件与理论专业论文)基于udt协议的oracle数据库远程备份的设计和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,:。,吒峰;、 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:万别兰 日期:刃p 年多驯日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 日期:2 d 年乡月纠日 f 摘要 摘要 数据是企业的生命线,对于高度依赖信息的企业,各种灾难都有可能导致企 业信息系统的瘫痪。如何尽量降低灾难给企业带来的负面影响并保证业务的连续 性运营是需要高度重视的问题。如今o r a c l e 数据库以其强大的功能,出色的稳定 性和安全性,受到越来越多企业的青睐,因此研究o r a c l e 数据库的容灾备份具有 非常重要的现实意义。 本论文从o r a c l e 数据库d a t ag u a r d 备份方案的建立和维护过程的实际出发, 首先研究打破数据传输瓶颈的高性能大规模数据传输协议u d t 协议,在掌握了此 协议的拥塞控制算法原理、软件运行框架、a p i 调用接口等内容后对u d t 协议进 行d l l 封装,实现了从c + + 到c # 编程环境的移植,从而降低了c 撑高速网络编程 的难度、为大规模数据可靠性传输的编程提供了方便。 其次学习掌握o r a c l e 预编译p r o 宰c c 抖开发工具包并结合o r a c l e 性能调整和 高效设计等相关知识独立设计、开发和测试了一套用于直接读取o r a c l e 数据库的 d l l 封装包,从而实现了按数据物理地址高效执行百万级别数据量的分页滚动查 询、快速插入更新删除操作以及高效清空表数据的无日志记录的截断操作,并且 降低了网络开销和服务器负载,缩短了数据库响应时间。 然后研究并实践了o r a c l e 数据仓库中的c h a n g ed a t ac a p t u r e 技术,在 p r o 宰c c + + 开发工具包的基础上独立编写和调试用于o r a c l e 数据库变更数据实时 捕捉环境的d l l 封装包,实现了在输入必要的信息后自动有序的建立c d c 捕捉 环境,提高了增量变更数据捕捉的完全性和高效性,降低了服务器性能开销。 最后在c 群平台下采用c s 框架、多线程技术并在以上三个d l l 文件库的基础 上设计并开发了用于o r a c l e 数据库的远程备份软件,实现了o r a c l e 数据库的远程 备份和读写分离,提高了生产效率,降低了维护成本。本课题的成果对于中小企 业信息系统中的o r a c l e 数据库远程备份具有一定的参考和实用价值。 关键词:c h a n g ed a t ac a p t u r e ,u d t 协议,远程备份,p r o 木c c + + i a b s t r a c t a b s t r a c t t h ed a t ai st h el i f e b l o o do f b u s i n e s s av a r i e t yo fn a t u r a ld i s a s t e r sa n de m e r g e n c i e s a r el i k e l yt ol e a dt ot h e p a r a l y s i s o fe n t e r p r i s ei n f o r m a t i o ns y s t e m sa n de v e n c a t a s t r o p h i cc o n s e q u e n c e sf o r t h ec o m p a n y , w h i c ha r eh i g h l yd e p e n d e n to ni n f o r m a t i o n o ri n f o r m a t i o ni n t e n s i v e t h e r e f o r e , h o wt om i n i m i z et h en e g a t i v ei m p a c to ft h ed i s a s t e r t ot h ee n t e r p r i s e ,t oe n s u r et h ec o n t i n u i t yo f b u s i n e s so p e r a t i o n sa n dt h er e l i a b i l i t yo f t h e d a t ai sa ni m p o r t a n ti s s u e m o r e o v e r , a si n f o r m a t i o nt e c h n o l o g yc o n t i n u e st od e v e l o p , d a t a b a s ei nm i n i a t u r eu n a b l et om e e tt h en e e d so fg r o w i n gb u s i n e s sa n dd a t a , w h i c h c o m ef r o mt h ee n t e r p r i s ea n dt h eg o v e r n m e n td e p a r t m e n t s w i t ht h e p o w e r f u l c a p a b i l i t i e s ,o u t s t a n d i n gs t a b i l i t ya n dh i g hs e c u r i t yo f t h eo r a c l ed a t a b a s e ,a l li n c r e a s i n g n u m b e ro fe n t e r p r i s ec h o o s eu s ei t t h e r e f o r e ,t h er e s e a r c ho fo r a c l ed a t a b a s ed i s a s t e r r e c o v e r yh a sav e r yi m p o r t a n tp r a c t i c a ls i g n i f i c a n c e i nt h i sp a p e r , o nt h eb a s i so ft h ee s t a b l i s h m e n ta n dm a i n t a i n m e n tf o rt h eo r a c l e d a t a b a s es t a n d b yb a c k u pp r o j e c tt h a ta p p l i e di nt h ea p p l i c a t i o no ft h eg u o d u ns e a l d a t ai n f o r m a t i o n m a n a g e m e n ts y s t e m ,f i r s t l y , s t u d i e dt h eu d tp r o t o c a lo f h i g e - p e r f o r m a n c ea n dl a r g e s c a l ed a t at r a n s p r o t ,w h i c hb r e a kt h eb o t t l e n n e c ko fd a t a t r a n s m i s s i o n a f t e rat h r o u g hg r a s po ft h ec o n g e s t i o nc o n t r o la l g o r i t h m s ,s o f t w a r e a r c h i t e c t u r e ,a p ic a l li n t e r f a c ea n do t h e rk n o w l e d g ea b o u tu d tp r o t o c a l ,a u t h o rm a k ea d l l e n c a p s u l a t i o nf o ru d tp r o t o c a lt ot r a n s p l a n tt h ep r o g r a m m i n ge n v i r o n m e n tf r o m c + + t oc # t h e n b a s e do nad e t a i l e ds t u d y i n ga n dc a r r y i n go u to ft h eo r a c l ed a t a w a r e h o u s ec h a n g ed a t ac a p t u r et e c h n o l o g y , e f f e c t i v eo r a c l eb yd e s i g n ,o r a c l e p r o 枣c c + + p r o g r a m m i n ga n ds o f t w a r ed e s i g np a t t e r n a u t h o ri n d e p e n d e n t l yd e s i g na n d d e v e l o p as e to fd l lp a c k a g et h a tu s et oi m p l e m e n tt h eo r a c l ed m l ,d d l s t a t e m e n t sa sw e l la st oe s t a b l i s ht h ec h a n g ed a t ac a p t u r ee n v i r o n m e n t t h u st h ed l l p a c k a g ec a nm a k et h e a c c e s st oo r a c l ed a t a b a s es i m p l ea n de f f i c i e n t ,a sw e l la s a u t o m a t i c a l l ye s t a b l i s ht h ec d ce n v i r o n m e n ta f t e ri n p u t i n gt h er e q u i r e dn e c e s s a r y i n f o r m a t i o n f i n a l l y , w i t h t h e c 撑p r o g r a m m i n gp l a t f o r mu s i n gc s f r a m e w o r k , m u l t i - t h r e a d e dp a t t e r n ,a u t h o rd e s i g n e da n dd e v e l o par e m o t eb a c k u ps o f t w a r ef o r o r a c l ed a t a b a s et h a te n a b l e sa s y n c h r o n o u sr e m o t eo r a c l ed a t a b a s eb a c k u p ,a sw e l la s i l a b s t r a c t i m p r o v i n gt h ep r o d u c t i o ne f f i c i e n c ya n dr e d u c i n gt h em a i n t e n a n c ec o s t s t h er e s u l t so ft h es u b j e c th a ss o m er e f e r e n c ea n dp r a c t i c a lv a l u et ot h eo r a c l d a t a b a s eb a c k u ps y s t e ma p p l i e di nt h ei n f o r m a t i o ns y s t e mo ft h em i n i t y p ea n dm e d i u m e n t e r p r i s e s k e yw o r d s :c h a n g ed a t ac a p t u r e ,u d tp r o t o c a l ,r e m o t eb a c k u p ,p r o 木c c + + i i i 目录 第一章引言 目录 1 1 项目背景及研究意义1 1 1 1 项目背景1 1 1 2 研究意义1 1 2 容灾备份简介及国内外现状2 1 2 1 容灾备份简介2 1 2 2 国内外现状4 1 3d a t ag u a r d 建立和维护中所面临的问题5 1 4 本论文主要研究的内容6 第二章o r a c l ed a t ag u a r d 备份方案概述7 2 1 内部原理和进程结构7 2 2 配置和管理o r a c l ed a t ag u a r d 10 2 2 1 配置o r a c l ed a t ag u a r d 10 2 2 2o r a c l ed a t ag u a r d 日常管理13 第三章远程备份拟定目标和概要设计2 0 3 1 远程备份拟定目标2 0 3 2 概要设计2 1 3 2 1 软件框架- 2 1 3 2 2 模块划分2 2 3 2 2 1o r a c l e 数据库存取操作模块2 2 3 2 2 2 0 r a c l e 数据库c d c 环境建立模块2 5 3 2 2 3 u d t 协议网络传输模块3 3 第四章模块详细设计和实现。3 6 4 1 操作模块的设计和实现3 6 4 2c d c 模块的设计和实现4 0 4 2 1h o t l o g 模式发布流程和调用接口实现4 0 i v 目录 4 2 2 变更数据订阅流程和调用接口实现4 8 4 3u d t 协议拥塞控制算法和封装实现5 3 4 3 1u d t 协议拥塞控制算法5 3 4 3 1 1 t c p 与u d t 拥塞控制算法比较5 3 4 3 1 2u d t 拥塞控制算法详解5 5 4 3 1 3u d t 丢包处理和带宽估计5 6 4 3 1 4 高效、公平、稳定5 8 4 3 2c 撑封装实现。5 9 第五章软件界面设计和功能展示。 5 1 服务端功能和界面展示6 3 5 2 客户端功能和界面展示6 4 第六章结论 致谢。 v 第一章引言 1 1 项目背景及研究意义 1 1 1 项目背景 第一章引言 当今社会,企业的飞速发展离不开企业的信息化建设,而企业的信息化是指 在一定的深度和广度上利用计算机技术、网络技术和数据库技术,控制和集成化 管理企业生产经营活动中的所有信息,实现企业内外部信息的共享和有效利用, 以提高企业的经济效益和市场竞争能力。在企业信息化的建设和维护中,数据库 技术是非常重要的一个方面。不断提高的业务需求、日夜激烈的市场竞争、大规 模数据的处理等需求对数据库的性能和安全可靠的要求与日俱增。数据是企业非 常宝贵的信息资源,特别是在电子商务等信息集中的系统中,都需要数据库提供 安全可靠的不间断的业务支撑服务来保证客户服务质量、客户满意程度,同时建 立企业信誉的良好口碑、避免业务损失、无形间增强企业的竞争力。但许多情况 下,比如人为操作错误、传输线路中断、系统病毒侵袭、服务器崩溃、停电断电、 磁盘损坏等突发事件都有可能造成数据库文件损坏或者丢失,从而导致信息化系 统不能持续运行。因此如何尽量降低各种突发事件和灾难给企业带来的负面影响 并保证业务的连续性运营以及数据的可靠性是需要高度重视的一个问题。 o r a c l e 数据库凭借其出色的数据处理性能,可靠的稳定性和安全性,在企业和 政府部门的信息化过程中得到了广泛的应用。因此,随着计算机科学的不断发展, 应对客户的实际需求,研究o r a c l e 数据库备份技术具有重要的实际意义。 1 1 2 研究意义 为可能发生的突发事件或灾难做好充足的准备必须成为数据库备份和恢复过 程中最首要考虑的环节。太多的事故已经向用户发出警示,而今的5 1 2 汶川大地 震又再一次向用户拉响了最强烈的红色警报。研究指出。各行业在遭受灾难打击 造成业务服务中断时,所带来的损失是十分巨大的。调查显示:大约有6 的企业 能在数据丢失后生存下来,4 3 的企业会彻底倒闭,5 1 的企业会在两年内消失。 这种情况最主要的原因是企业因为资金预算或是其他原因,忽视了数据库灾难各 电子科技大学硕士学位论文 份和恢复工作的重要性。而当突发事件或灾难真的发生时,最受打击的还是企业 自己。面对纷繁复杂的实施环境,用户为之准备的方案也各有不同,很多企业重 “硬轻“软”,而且还会遇到许多问题或困惑: 企业自建自行采购各种设备,整合困难,而且要考虑设备的兼容性,投 资大,成效低,维护复杂,人员和时间有限,缺乏经验和技能。 委托第三方实际结果和预想结果有出入,建设维护成本严重受限于第三 方水平,对数据不放心却又无能为力。 因此,在考虑清楚数据恢复的容忍时间,每天数据的存取量,数据中心与灾 难备份间的距离,怎样应用备份数据这四个问题的前提下真正设计并实现一种自 动完成、网络负载较小、安全和稳定性高、不影响现行业务服务、运行成本低、 维护简单的o r a c l e 数据库远程备份方案,对降低中小企业业务成本,提高企业竞 争力,保持业务连续性具有一定的实际意义。 1 2 容灾备份简介及国内外现状 1 2 1 容灾备份简介 容灾备份就是通过一定的设备与技术,在清楚地将风险予以分类定义的基础 上,建立一套最大程度保证业务连续性的切实可行有效的应急机制。通常的容灾 备份技术是通过在异地建立和维护一个或者多个备份系统,利用地理上的分离来 保证信息系统和数据对灾难和突发事件的抵御能力。容灾备份系统不仅是数据上 的备份,还分为很多层次,从最简单的仅在本地进行磁带备份,到将备份的磁带 存储在异地,再到建立应用系统实时切换的异地备份系统,恢复时间也可以从几 天到小时级到分钟级、秒级或0 数据丢失等。根据容灾系统对灾难的抵抗程度, 可分为数据容灾和应用容灾: 数据容灾是指建立一个异地的数据系统,该系统对本地系统关键数据实行 实时定时复制。当出现灾难时,如本地系统的数据损坏,可以由异地数据系 统接管,或者从异地数据系统把数据导回来,首先保证不丢失数据。这种模 式没有应用的容灾,如果本地系统发生完全损坏,异地系统将无法提供接管。 应用容灾比数据容灾层次更高,即在异地建立一套完整的、与本地系统相 当的备份应用系统,可以同本地应用系统互为备份,也可与本地应用系统共 2 第一章引言 同工作。在灾难发生后,如本地系统完全损坏,远程应用系统可以迅速接管 或承担本地应用系统的业务运行。 标准的容灾备份可以分为很多级别,而根据国内的情况,按照企业的大小、 业务要求及实施成本的不同,容灾一般可以划分为如下几个级别: 离线容灾,磁盘磁带备份。只需将生产系统的数据备份出来即可,备份系 统可以在本地,也可以在远程。备份成本最低,适合小型公司和刚起步的公 司,但缺点是恢复时间长,损失代价大,大部分情况下不能保证数据的完整 性。 在线容灾,数据容灾,数据冗余。一般通过硬件或者软件将数据在线同步 到远程地点,仅仅是数据同步,在备份站点并不冗余应用服务器,备份站点 的规模远小于主站点,主站点发生灾难故障时,备份站点无法提供切换但可 以从备份站点向主站点恢复业务数据,适用于中型公司或企业。 在线容灾,数据与应用容灾,数据与应用的对称冗余。不仅考虑数据的冗 余与恢复,还考虑业务的接管与连续。不仅保证数据备份的完整性、可靠性 和一致性,还提供不问断的应用服务,保证信息系统提供的服务完整、可靠、 一致。但是这种模式的容灾系统已经变得比较复杂,需要有众多环境支持, 如高速的t c p i p 网络或者是f c 网络,而上层则需要通过硬件、o s 、数据库, 或者是应用来做复杂的同步。一般只有大型企业才会采用。 在线容灾,多级冗余策略。包括本地数据备份、远程数据复制和异地备份 中心,此方案考虑了各种可能性,所以是最完善,也是最复杂的方案,当然 容灾成本也是最高的,只有数据与业务非常重要,而且影响力很大的企业才 采用 对于不同的容灾备份需求,有不同的容灾备份技术: 硬件级别的容灾,并不是说是靠硬件来完成,而是在硬件级别,如存储级 别上,用存储自身的功能软件实现的,在这些自身的同步软件中,比较特别 的有e m c 的s y m m e t r i xr e m o t ed a t af a c i l i t y ( s r d f ) 、i b m 的p e e r - t o p e e r r e m o t ec o p y ( p p r c ) 、h d s 的t m e c o p y n a n o c p y 、n e t a p p 的s n a p m i r r o r ,以 及h p 的c a 等。这些复制同步技术一般完全依赖于硬件的生产厂家,经历许 多年的发展,已经比较稳定,在国内如电信,移动等大型国有企业使用的比 较广泛。虽然硬件级别的存储复制实施比较简单,但是技术不太透明,维护 电子科技大学硕士学位论文 成本偏高,对厂家的依赖性也高,在一定的程度上,只支持同厂家之间的存 储数据的复制,而且实施成本比较高。不过随着虚拟存储技术的发展,以及 专门用于容灾系统的设备的出现,不同的存储之间的数据复制与同步将变为 可能。 o s 层面级别的容灾,与硬件级别的复制技术不同的是,o s 层面的容灾技 术是在o s 上做的最简单的原理其实就是来自于l v m 管理中的l v 镜像技术, 如果一个l v 的镜像分布在不同的存储设备上,其实也就完成了最简单的卷同 步复制环境。有代表性的就是v m - i t a sv o l u m er e p l i c a t o r ( v v r ) ,以及i b m e x t e n d e dr e m o t ec o p y ( c ) 等。 d b 级别的容灾,如r a c 、d a t ag u a r d 、s t r e a m s 等,其中d a t ag u a r d 是免 费使用的,所以使得数据库技术的成本显得更为低廉,而且因为数据库技术 的透明性,数据库同步是基于数据更新的顺序性,可以保证同步过去的数据 库在一致状态下打开。数据库复制方案成本比较低,而且技术上透明灵活, 在技术实力比较强的公司里,可以采用。 应用级别的容灾,一般没有具体的标准,都是根据自己的条件来编写代码, 当然,也有一些同步软件可以实现这样的工作,把应用写过来的数据,通过 队列模式分布到不同的数据库中,以实现数据的复制。 1 2 2 国内外现状 由于数据库软件都是国外公司编写的,所以国外的数据库都有自己的备份机 制,但设备昂贵,操作复杂,而且软件环境要求严格,而且每个公司的需求是不 同的,所以日常维护耗费巨大的人力和资源,当然由于国外的备份软件更容易的 让国外数据库厂商提供专用接口来备份数据,所以性能肯定会更好,质量肯定更 有保障。如果国内备份软件需要国外数据库提供专用的备份接口,那将需要付出 非常高的代价,以及在测试过程中也需要国外数据厂商的支持,所以国内备份软 件只能运用数据库公用接口来备份数据。这是国内外备份软件技术差距的关键所 在。国内的备份软件一般都用数据库公用接口来对数据变化进行捕捉( 一般有快 照法、触发器法、日志法、时间戳法、a p i 法、影子表法和变更轨迹法) 或者用镜 像硬盘分区技术,同步或异步的操作硬盘,从而达到数据库双机备份的目的。公 用接口法会在一定程度上对数据库性能有所影响,但操作可以灵活改动,而镜像 硬盘技术的优点是性能好,但弊端就是操作不灵活而且操作错误会对硬盘产生难 4 第一章引言 以估计的错误。 但不管怎样双机备份软件的大部分都选择t c p 协议作为网络传输的协议之 一,面对未来高速网络的发展像1 g b s ,1 0 g b s 这样的网络带宽,大规模分布式数 据传输时t c p 所表现出来的效率就严重不足。国外研究u d t 协议的是美国芝加哥 伊利诺斯州大学的l a b o r a t o r yf o ra d v a n c e dc o m p u t i n g n a t i o n a lc e n t e rf o rd a t a m i n i n g ,而与u d t 协议相似的协议是微软亚洲研究院公布的1 2 项顶级研究成果 之一的是复合t c p ( 传输控制协议) ,可以极大地提高传输层协议的效能。与传统 t c p 不同,口p 可以更加激进地提高传输速率,并同时检测窗口的大小,延迟 的变化,以及丢包情况,从而控制拥塞的发生。口p 的设计保证了新算法的引入 不会造成已有的基于传统t c p 的应用性能下降。而国内这方面的研究非常少。由 于u d t 协议是开源的协议又是在u d p 协议上增加的拥塞控制机制,所以我们可 以根据数据库当前的状态来调整拥塞控制算法的相关参数来达到网络带宽利用与 数据流之间传输公平的最优化。 1 3d a t ag u a r d 建立和维护中所面临的问题 o r a c l ed a t ag u a r d 备份方式的建立和维护中,作者发现了许多缺点和弊端: 搭建过程比较复杂,各种命令繁多,操作步骤费时费力。应对突发事件的 能力比较薄弱,比如网络繁忙,断网停电时,为了保证数据一致有时需要重新搭 建备份环境,并进行数据对齐。 资源浪费严重,主数据库不停的生成备份数据,并把备份数据传送到备份 服务器上。备份服务器上运行的s t a n d b y 数据库在m o u n t 状态下,一直接收这些备 份数据,并处于连续的恢复状态中,既不能读也不能写,只有当主数据库出现问 题时s t a n d b y 备份数据库经过切换激活变成主数据库后才能发挥作用,进行读写操 作。所以在s t a n d b y 备份数据库处于备份状态时服务器资源浪费严重。 主数据库应用繁忙,备份数据传输量增大,带宽不够时,可能造成数据延 迟并不断重复发送备份数据,有可能影响主数据库性能。 当备份服务器或s t a n d b y 数据库发生问题,需要重启或关机维护时,首先 需要停止主数据库才能保证备份数据的完整和有效。这一点会对企业的业务的 持续性造成影响。 电子科技大学硕士学位论文 1 4 本论文主要研究的内容 ( 1 ) 研究o r a c l ed a t ag u a r d 技术,并应用到实际的数据库备份方案中,并在建 立和维护过程中针对这一技术挖掘可以改进和改善的地方,并予以解决。 ( 2 ) 研究o r a c l e 高效设计和o r a c l ep r o * c c + + 编程技术,在c c + + 里内嵌s q l 语句和p l s q l 块,从而开发一套高效和灵活的底层d l l 文件库,用于o r a c l e 数 据库的d m l 、d d l 语句的操作,从而实现了按数据物理地址高效执行百万级别数 据量的分页滚动查询、快速插入更新删除操作以及高效清空表数据的无日志记录 的截断操作,并且降低了网络开销和服务器负载,缩短了数据库响应时间。 ( 3 ) 研究o r a c l e 数据仓库中的c d c 技术,即c h a n g ed a t ac a p t u r e 技术。在掌 握并实践此技术的基础上再一次使用o r a c l ep r o 宰c c + + 编程技术,对c d c 实现 d l l 封装,方便于远程备份软件的调用,使c d c 捕捉环境能够快速高效地自动建 立,从而实现o r a c l e 数据库增量数据完整有效的捕捉。 ( 4 ) 研究u d t 协议,u d t 协议是打破数据传输瓶颈、基于u d p 的数据传输协 议。因为开源u d ti 程是c 抖版本,所以需要对其进行c 撑平台的封装和移植, 以用于o r a c l e 增量数据的高效快速的远程网络传输。 ( 5 ) 分析远程备份的实际环境和需求,设计并实现满足客户要求的o r a c l e 数据 远程备份软件,能够高效稳定的完成数据库远程备份,并有效的利用备份数据库 资源,实现读写分离的功能,降低主数据的性能负载。 6 第二章o r a c l ed a t ag u a r d 备份方案概述 第二章o r a c l ed a t ag u a r d 备份方案概述 o r a c l ed a t ag u a r d 是管理、监控和自动化软件的基础架构,它创建、维护和监 控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的 影响。d a t ag u a r d 使备用数据库保存为与生产数据库在事务上一致的副本。这些备 用数据库可能位于距生产数据中心数千公里的远程灾难恢复站点,或者可能位于 同一城市、同一校园乃至同一建筑物内。当生产数据库由于计划中断或意外中断 而变得不可用时,d a t a g u a r d 可以将任意备用数据库切换到生产角色,从而使与中 断相关的停机时间减到最少,并防止任何数据丢失。 2 1 内部原理和进程结构 o r a c l ed a t ag u a r d 4 包括一个生产数据库,也称为主数据库,以及一个或多个 备用数据库,这些备用数据库是与主数据库在事务上一致的副本。d a t ag u a r d 利用 重做数据保持这种事务一致性。当主数据库中发生事务时,则生成重做数据并将 其写入本地重做日志文件中。通过d a t ag u a r d ,还将重做数据传输到备用站点上, 并应用到备用数据库中,从而使备用数据库与主数据库保持同步。可以把备用数 据库看成是一个正在不停恢复中的数据库,因为它不知道重做数据什么时候结束。 因为运行中的主数据库,永远没有结束,所以备用数据库一直处于应用重做数据 状态,或者等待下一个重做数据来应用。从o r a c l e9 i 开始,既可以传送归档日志, 也可以传送联机日志。如果是归档日志,由a r c h 进程负责传送,如果是联机日 志,o r a c l e1 0 9 以前由l g w r 负责传送,o r a c l e1 0 9 以后完全由l n s n 进程负责传 送。日志的接受工作则由备用数据库端的r f s 进程完成。备用数据的应用日志工 作可以手工应用,或者物理备用数据库的应用由m r p 进程完成,逻辑备用数据库 的应用由l s p 进程完成。图2 1 展示了备用数据库两种日志传送的差别。 7 电子科技大学硕士学位论文 图;盏 图2 - 1 s t a n d b y 内部机制 d a t ag u a r d 允许管理员选择将重做数据同步还是异步地发送到备用站点上。备 用数据库的底层技术是d a t ag u a r d 重做应用( 物理备用数据库) 和d a t ag u a r ds q l 应用( 逻辑备用数据库) 。物理备用数据库在磁盘上拥有和主数据库相同的数据库 结构,并且使用0 r a c l e 介质恢复进行更新。逻辑备用数据库是一个独立数据库, 它与主数据库包含相同的数据。使用s o l 语句进行更新,其相对优势是能够并行 用于恢复以及诸如报表、查询等其他任务。 d a t ag u a r d 服务由日志传输服务、日志应用服务和角色管理服务组成。无论选 择物理备用数据库还是逻辑备用数据库,日志传输服务都是相同的。但是日志应 用服务不同,取决于使用物理备用数据库还是逻辑备用数据库。但它们的最终结 果都是相似的:日志数据从主服务器传输并应用到备用服务器上。 1 日志传输服务 日志传输服务的作用可顾名思义。该服务负责将重做日志数据从主系统传输 到备用系统。如果以往有些日志没有传输,该服务则负责将其补充传输过去。这 项服务还会自动检测备用系统中的归档或备用日志文件存在的任何问题,并在需 第二章o r a c l ed a t ag u a r d 备份方案概述 要时替换这些文件。日志传输服务的工作模式有两种。在第一种模式下,日志写 进程( l g w r ) 将使用与主重做日志文件完全同步的备用重做日志文件。在第二 种模式下,归档进程( a r c h ) 将归档日志文件从主系统传输到备用系统。在第一 种模式下,重做日志保持同步。而在第二种模式下,备用系统中的文件是主系统 中的一个归档日志文件。 用日志写进程传输日志:用日志写进程可以使备用系统与主系统保持完全同 步。日志写进程把重做数据分别写至在线重做日志文件和备用重做日志文件。因 此数据在这种情况下不会丢失,且在发生错误时能够立即进行失效恢复。这种方 式的不足在于,当互连速度不够快且不十分可靠时,这种方式不可取。由于只有 当重做记录分别写至主系统和备用系统之后,事务才能认为已提交,故事务的提 交将等待二者中较慢的一个,通常是备用系统。 用归档进程传输日志:用归档进程传输日志引起主系统的性能下降比例较小, 这是由于事务不等待日志传输。当发生日志切换时,归档进程把日志分别归档到 主归档日志和备用归档日志的位置。这意味者备用系统中的归档日志也是主系统 中的归档日志之一。为了减少备用系统和主系统不同步的时间,可以设置 a r c h i v el a gt a r g e t 参数。这将设置主系统两次日志切换之间的最长时间 ( 以秒为单位) ,通常建议设黄到1 8 0 0 秒( 3 0 分钟) 和7 2 0 0 秒( 2 小时) 之间。 2 日志应用服务 日志应用服务的作用是把备用重做日志( s t a n d b yr e d ol o g , s r l ) 或归档日志应 用到备用数据库上。根据所用的是物理备用数据库还是逻辑备用数据库,日志应 用服务的功能是不同的。在物理备用数据库中,利用内建的o r a c l e 介质恢复机制, 可以把s r l 或归档日志应用到备用实例上。在逻辑备用数据库中,先将重做日志 表项转换成s q l 语句,再将其应用到备用数据库上。远程文件服务器进程( r e m o t e f i l es e r v e r , r f s ) 接收从主数据库传送过来的重做数据,并将其写至备用数据库上 的s r l 或归档重做日志文件中。如果用的是s r l ,可以选择性地启用实时应用, 这可以使d a t ag u a r d 从当前s r l 中恢复重做数据,而当前s r l 可以同时正在进行 r f s 进程写入。由于不必等待当前s r l 的归档操作,这使得切换和错误恢复速度 更快。管理恢复进程( m a n a g e dr e c o v e r yp r o c e s s ,m r p n ) 把s r l 或归档重做日志应 用到备用数据库上。 3 角色管理服务 角色管理服务用于维护和修改主数据库服务器和备用数据库服务器的角色。 当发生灾难性失效,或进行维护时,使用角色管理服务将备用系统转换为主系统。 9 电子科技大学硕士学位论文 使用切换( 无错误发生) 或错误恢复都能完成该转换。切换过程中数据不会丢失, 每个数据库在d a t ag u a r d 配置中以它的新角色继续运行。在错误恢复操作中,由 于主数据库失效,备用数据库将扮演主数据库的角色。若主数据库运行于最大性 能模式,则可能会丢失部分数据。错误恢复之后,主数据库将不再是d a t ag u a r d 配置中的一部分,需要重新作为新的备用数据库,或者重新组建成为新的主数据 库。 2 2 配置和管理o r a c l ed a t ag u a r d 2 2 1 配置o r a c l ed a t ag u a r d 配置o r a c l ed a t ag u a r d 的过程可以分为3 步:准备阶段、部署阶段和后部署 阶斟5 1 。每个阶段都非常重要。 1 准备阶段,在备用数据库配置中,为了准备将数据库服务器作为主服务器 运行,应采取下列措施: 归档日志模式若数据库还未处于归档日志模式,则必须让其进入该模 式。d a t ag u a r d 要求数据库工作在归档日志模式( 实际运行的数据库都应工作 在归档日志模式) 。 强制日志( f o r c e dl o g g i n g ) 模式实例应设置为强制日志模式,这样,即 使主数据库的操作设置为n o l o g g i n g ,也可以确保直接路径插入和其他不 可恢复的操作在日志中记录下来,并作为重做信息传送到备用服务器。 密码文件若密码文件还未创建,则必须创建一个。每个系统必须有一 个密码文件,这个密码文件所包含的主服务器s y s 密码和备用服务器s y s 密 码必须相同。还要将r e m o t el o g i np a s s w o r d f i l e 设置为 e x c l u s i v e 。 在设置d a t ag u a r d 备用数据库服务器之前必须完成所有这些操作。 2 部署阶段,d a t ag u a r d 备用数据库的部署也分为几步。这些步骤包括创建 数据库备份,将备份移动到备用服务器,在备用服务器上设置初始文件,设置调 用d a t ag u a r d 的进程,详细介绍如下: ( 1 ) 创建主数据库的一个备份为数据库创建一个在线备份或脱机备份。使用 恢复管理器( 蹦a n ) 并为主数据库创建一个完全备份。这一备份副本将在备 1 0 第二章o r a c l ed a t ag u a r d 备份方案概述 用数据库服务器上还原,这样就创建了一个数据库,该数据库将成为备用数据 库。不需要复制临时表空间数据文件。备用数据库进行恢复之后,在备用数据 库的只读模式下创建上述数据文件。可以复制重做日志文件,也可以在备用服 务器上生成重做日志文件。这些重做日志文件在备用服务器上生成,并在用于 切换或失效恢复的准备过程中清除。 ( 2 ) 为备用数据库创建控制文用a l t e rd a t a b a s ec r e a t es t a n d b y c 0 忖r r o l f i l ea s 命令在主数据库上创建备用控制文件。该备用 控制文件将被复制到备用数据库系统中。必须在数据库处于m o u n t 模式,且会 在备份数据文件最新的时间戳之后,创建该备用控制文件。 ( 3 ) 创建备用初始化文件备用服务器中设置的参数与主服务器中的相似。 但有一些参数的设置不同。备用数据库d b 参数应与主服务uniquename 器的不同。此外,在备用数据库服务器中,f a lc l i e n t 和f a ls e r v e r 参 数是保留的。d a t ag u a r d 特定的其他参数包括l o ga r c h i v ed e s t _ 2 、 l o ga r c h i v ed e s ts t a t e2 、l o ga r c h ec o n f i g 和s t an d b y f i l e m a n a g e m e n t 。 ( 4 ) 将文件复制至备用服务器将备份文件、备用控制文件和初始化参数文 件复制到备用系统。为了创建相同的主站点和备用站点,还需要为环境的设置 复制初始化脚本以及d b a 脚本。最后同步操作系统时钟。如果不进行这一步, 以后比较那些包含时间戳的日志文件( 尤其是警告日志) 时就会非常混乱而很 可能不吻合。 ( 5 ) 设置网络环境将所需的文件全部复制至备用服务器之后,为侦听程序 ( 1 i s t e n e r ) 配置一个o r a c l e 网络服务名,侦听程序用于主数据库和备用数据库 的日志传输服务。配置文件包括l i s t e n e r o r a 、t n s n a m e s o r a 和s q l n e t o r a 文件。 在主站点上,将第二个连接串( c o n n e c ts t r i n g ) 用于当前数据库侦听程序中的 重做数据,指定一个不同的端口。或者创建另一个单独的侦听程序,用于连接 到主数据库。在两个系统上做同样的设置,以便日后的角
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 18154-2025可燃性粉尘抑爆安全规范
- 2025年会计继续教育网上考试试题及答案5篇
- 2025年给水排水专业知识下午真题及答案解析
- 2012年考研政治真题及答案解析(完整版)
- 2025年二级建造师考试试卷(考点提分)附答案详解
- 2025年吉林省安全员A证考试题库附答案
- 全国一等奖七年级地理上学期人教版(2024)《海陆的变迁》获奖精美公开课课件
- 大学寒假安全教育课件
- 寒假女生安全教育课件
- 心理咨询师三级考试真题及答案解析
- 远程心电图管理制度
- 公司党建宣传片策划方案
- 建信金科面试题及答案
- 支气管哮喘防治指南(2024年版)解读课件
- 2025-2030年中国公安信息化行业市场深度调研及竞争格局与投资策略研究报告
- 山姆合同协议书
- 燃气公司笔试题及答案
- 走进爸爸妈妈的80年代童年生活
- T-SMA 0049-2024 巩膜镜设计和验配要求
- 2023-2024学年河南省漯河三中七年级(下)期中数学试卷(含详解)
- 《课堂教学转型》课件
评论
0/150
提交评论