Oracle在Linux平台的 Data Guard应用毕业设计论文.docx
- 文档编号:30178041
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:40
- 大小:315.07KB
Oracle在Linux平台的 Data Guard应用毕业设计论文.docx
《Oracle在Linux平台的 Data Guard应用毕业设计论文.docx》由会员分享,可在线阅读,更多相关《Oracle在Linux平台的 Data Guard应用毕业设计论文.docx(40页珍藏版)》请在冰豆网上搜索。
Oracle在Linux平台的DataGuard应用毕业设计论文
Oracle在Linux平台的DataGuard应用
摘要:
在这样一个经济迅猛发展的时代,数据的批处理量也随着直线上升。
这些数据可以说是一个企业或者政府的命脉,一旦丢失或者损坏所带来的损失就是不可估量的。
为了解决此类问题提高高可靠性和可用性就成为数据库目前迫切需要解决的一大难题。
本次课题主要就是Oracle针对数据安全所研发的一项技术,也是源于我在13年暑期校外的实践培训,那时开始接触并对Oracle数据库相关知识,其中就包涵了Oracle数据库是如何容灾的。
系统容灾备份工作对DBA(数据库管理员)的依赖性很高,不但增加对DBA工作上的压力同时精神上也承受着很大的负担,不能完全保证数据的安全性。
Oracle数据库的高可用DG应用(下文所有DataGuard均简称DG)就很好解决了这个问题,同时这个环境也减轻了DBA的工作量,它的高可用不但从安全的角度达到了要求而且它的低成本也是一个很大的亮点。
本文主要介绍了在Linux平台使用Oracle数据库进行数据保护,具体实施过程和细节以及它运行的软件环境,一步一步循序渐进。
详细叙述安装流程,记录了这个过程中所需的一系列的问题与对策;为配置好环境制定相关测试流程,并记录相关内容以备查阅。
关键词:
数据安全,系统容灾,数据保护
OracleDataGuardapplicationsonLinuxplatform
Abstract:
Insuchaneraofrapideconomicdevelopment,batchamountofdataalongwithstraightup.Thesedatacanbesaidtobethelifebloodofabusinessorgovernment,oncethelossordamageiscausedbythelossimmeasurable.Tosolvesuchproblemstoimprovethereliabilityandavailabilityofhighcurrentdatabasehasbecomeanurgentneedtoaddressamajorproblem.
ThemaintopicisanOracletechnologydevelopedfordatasecurity,alsostemsfrommy13yearsofhands-ontraininginthesummeroff-campus,thencameintocontactwithandknowledgeoftheOracledatabase,whichwillbeartheOracledatabaseishowdisasterrecovery.SystemdisasterrecoveryworkhighonDBA(databaseadministrator)dependence,notonlyincreasethepressureonDBAworkwhilementallybearagreatburden,cannotguaranteethesecurityofdata.DGapplicationshighlyavailableOracledatabase(hereinafterreferredtowereallDataGuardDG)onagoodsolutiontothisproblem,thisenvironmentwhilealsoreducingtheworkloadoftheDBA,it'snotonlyfromasafetypointofviewhighavailabilitymeetstherequirementsanditisalsoagreatlow-costhighlights.
ThispaperdescribesthedataintheLinuxplatformusingOracledatabaseprotection,anddetailsofthespecificimplementationprocessaswellasitssoftwareenvironmenttorun,stepbystep,stepbystep.Detaileddescriptionoftheinstallationprocess,recordaseriesofproblemsandcountermeasuresneededinthisprocess;toconfiguretheenvironmenttodeveloptherelevanttestprocedures,andrecordsrelatedcontentforinspection.
Keywords:
Datasecurity,Systemdisasterrecovery,Dataprotection
序言
进入二十一世纪以来社会经济突飞猛进的向前发展,整个经济型社会直接跨入了一个大数据时代;所谓大数据时代,通俗的讲就是数据爆炸时代,海量的数据可供用户根据自己的需求去搜索,而安全的保存下这些海量的数据才是关键的所在;如何保存好这些大量的数据?
这意味着需要对这些数据做到策略性和计划性的保护,也就是说对存放此类数据的数据库就有了很高的要求,Oracle数据库在当今社会起着举足轻重的作用,在同类数据库中Oracle拥有着更多数据存储、处理以及保护的能力。
Oracle是一个超大型的数据管理系统,他的数据处理能力相当强大,安全性能相对来说也很齐全,唯一的门槛就是使用的成本过高,所以在目前大都在政府或者大型的企业使用较多;中小型的企业还是偏向于一些小型数据库,因为考虑到成本的低廉而且易操作,但是在待处理数据量较大的时候利弊就很明显了。
因为Oracle性能很高在数据安全以及确保完整方面,所以在企业数据处理、管理信息系统、电子商务等等的很多领域都有着很广泛的使用;其实Oracle数据的关键能力还是他的容灾,大大降低数据在故障中的损失。
本文结合个人的学习情况及学习深度对OracleDG搭建基本的测试环境并进行容灾实验,在此过程中来发现并弥补自己的不足,以确保在以后的生产维护中达到游刃有余。
本课题意义主要是让自己对Oracle数据库理论以及在实际生产环境中容灾时需要注意的相关知识点进行强化巩固并发现自己的不足,同时也通过本课题来说明DG的容灾能力的高可用以及稳定程度。
本文以Oracle数据库容灾为重点展开一系列对Oracle容灾的叙述,其中重点对OracleDG环境进行讲述,从使用的环境,到软件平台的实施,再到架构的实现,最终形成数据的基本容灾,同时进行相关容灾测试,并讲诉OracleDG11G的一些重要的新特性;文章最后感谢给我提供帮助的老师们以及我的校外指导老师。
第1章Oracle容灾相关技术
1.1容灾的基本概念
容灾,首先从字面上讲就是容纳灾难,顾名思义是对未知灾难提前做好的解决问题的一个准备,要认识什么是容灾,才能做好容灾。
为未知的故障做好充足的准备才能在把故障所带来的损失降到最低。
从宽泛的意义上讲,只要是可以提高系统可靠性、安全性、可行性的做法,都可以统称为容灾。
细致的说,容灾指的是除了生产节点以外,用户重新建立的备用节点,当灾难来临使得生产节点不能正常工作,此时备用节点就会代替原生产节点从而不影响正常的生产工作,达到不间断业务的目的。
完整的容灾必须存在多个备份,并且这些备份可存在于不同地点的不同机器上,但是数据库的备份只能备份到某个具体时间点,而在此时间点之后的所有的数据在故障后使用该备份恢复就会丢失,这也是我个人总结的全备数据库的一个缺陷,针对这样的缺陷Oracle还提供了增量备份,也就是说在原来备份的基础上增加从当初备份时间到当前时间数据库所产生的数据,不过个人觉得就算注入脚本写死让数据库定期自动备库,这也是不合理的,故障不会告诉你让给你备份要发生故障了,肯定存在某个时间段的数据会被意外丢失。
所以OracleDG的出现就能解决这样的缺陷,因为在DG生产环境里同步的数据都是毫秒级别的,就算丢失也大大的减少了丢失的数据量,更适合存放重要数据的生产环境使用。
容灾的备份有两种:
一种是数据备份另一种是应用备份。
但是在一些存在实时服务的操作体系里,故障中断了此时用户对数据库数据的服务请求,使用这些备份就可以解决这些难题,此时用户的服务请求就能不间断并完整的执行下去,确保了整个数据系统的完整、一致以及可靠。
而有时是多个用户同时对一段数据进行读写操作,这样的I/0负载不会让用户担心自己访问的数据是不是当前最新的,因为Oracle的容灾环境实时性能相当稳定,数据的同步级别都是以毫秒为单位,在实时不间断数据处理系统里,Oracle的容灾环境是相当高效以及稳定的。
虽然上文说到备份数据库并不是很理想的一个策略,但是实际生产环境却要做这样的操作,因为数据备份到任何地方都是对整个系统的一个最底层的保障,当然数据备份也是容灾这个大概念里的一个最基本手段,是一个完完整整的容灾系统能够正常工作的后勤保障;备份数据库是整个容灾环境的一个必须的手段,也是不可省略的一个过程,当然这些备份也是在系统完整以及可靠的时候才能完成。
1.2容灾的基本手段
Oracle容灾的最基本手段分为三种,本次毕设就是使用的其中一种技术应用,当然因为Oracle软件多硬件配置的需求较大所以选择OracleDG作为本次毕设的内容。
下面就Oracle的三种容灾技术分别做简单介绍。
1.2.1OracleRAC(realapplicationclusters)
RAC是一个用户可以在多个节点依赖同一个数据库以及事例的软件,中文简称为实时应用集群。
它的数据文件存放在连接这些节点的磁盘上或者在创建好的集群里,每个可活动的实例都能对这些数据文件进行访问和写操作。
RAC协调着这些活动的节点,当其中一个节点更改了数据文件的内容,RAC环境会让此时访问该数据文件的用户看到最新的更新,保证了每个用户所访问到的数据的一致及可用。
其实RAC的主打功能是解决单点故障以及数据负载方面的问题,唯一存在于RAC环境中的缺陷是在它的容灾环境及方式中,他的数据只有一份,自身与DG环境相比较不存在数据的冗余,这样单点故障就在所难免了。
在目前也有很多企业希望将RAC与DG相结合,在搭建完成的RAC环境里,利用集群创建备库,就算RAC集群因故没能启动成功,这样的备库也可以临时承担生产活动,这样的双保险,数据安全性大幅度提升,不过这样的成本也是很高的。
1.2.2OracleDG(oracle数据保护)
通俗的讲,DG环境其实就是将主库的数据实时备份到备库节点,主要方法是通过同步日志,这种同步方式有很多种形式。
DG通常被用在企业政府异地数据的同步,虽然备库可以执行只读查询,减轻了主库数据的性能压力,但DG并不是性能解决方案。
在DG环境中,最少有两个或者两个以上的节点,一个数据库主要是生产使用,这个数据库称为Primary(主库)。
第二个数据库用来实时同步主库传来的数据,称为Standby(备库)。
正常工作时主库做生产服务,用户在主节点上进行操作,操作都被记录在归档日志中,这些日志通过网络同步给备库。
然后在备库上以毫秒的速度重新执行,从而实现主备的数据同步,达到容灾目的。
OracleDG给用户提供了三种高可用的数据容灾方面的优势分别为成本低廉、安全高可用、高性能和实时的数据防护。
这些模式可以在任何可连入数据的界面上进行设置。
如果故障已经提前预见,例如需要对物理硬件进行升级,可以把当前备库切换成主库继续为用户服务,从而减少数据库的中断时间,并且也不会存在数据的丢失。
如果存在突发故障主库停止工作,这时可以把备库强制切换为主库继续服务,减轻了数据丢失的成本。
所以主库备库其实只是一个概念,并不是固定角色在某个节点。
日常工作生产中人们口中说讲的物理备库和逻辑备库是DG从容灾的技术层面上区分的,它们的主要区别在于他们的工作原理以及功能的范畴。
物理备库从字面上将就是硬件配置以及存储设备内部的数据结构与主库一致,而且要保持内部数据的一致需要使用的Oracle介质恢复功能,达到容灾的效果。
与物理备库相比逻辑备库就很独立了,他其实就是一个“完整的主库”,拥有与主库完全一致的数据,采用命令行进行刷新数据,与物理备库相比对逻辑备库可在同步数据的同时去进行灾难恢复。
物理备库在实际生产中的实用性在于他高可用、数据有效防护、降低负载以及高性能,这些都是可以让用户信赖的。
高可用其实就是物理备库内部写入了一个容灾方案,这个方案是在容灾时切换角色时大幅度降低了停机时间;在物理备中DG保证了突发故障不会存在数据丢失,在物理数据库里面,用户可以使用任何类型数据以及对任何数据的读写操作都是可以的,物理备库拥有对数据的最高级别的安全防护,这样的防护在主备同步不存在冲突,而且主库物理级别的数据破损也不会像传染病一样植入备库,如果主库数据物理级别损坏,物理备库也可以为故障解决提供充分的时间,解决完故障,再将数据同步,不会造成任何损失;降低负载是11g以后又一大突破,因为起初用户的操作都是在主库进行的,这样对同一组数据可能一个用户在改写,而另一个用户在复制虽然是毫秒级别的同步,这样操作对数据库的负载实在太大,这时闲置的备库就得到了高效的利用,物理备库被提升的只读模式打开,这样只有读权限的用户都被转移到备库进行操作,这样既不影响正常的生产工作,也大幅度降低了主库传输负载;物理备的高性能在于它的恢复功能,跳过了SQL管理直接后台自动恢复同步,这样整个环境就降低了对管理者的依赖。
逻辑备库拥有着与物理备用数据库相似的数据有效防护、高可用和高性能的好处同时在合理使用硬件资源方面逻辑备相对物理备库要合理很多。
逻辑备库满足数据库容灾并解决的能力,不但拥有DG自身环境的保护模式,在其他的方式里也有应用,而用户就在这些模式下执行各自的操作,逻辑数据库根据两个目标来衡量自己的性能,一个是恢复点另一个是恢复时间,通俗的讲就是灾难后丢失了多少数据、不能正常工作停止了多长时间。
在DG最大保护方式里,这两个标志得到了最佳的诠释,不但零数据损坏,而且最低停机时间。
所以用这样的衡量标准,那在用户心里使用DG方案肯定是义不容辞了。
DG环境逻辑备库在产品升级方面也可以通过自身的逻辑备库来实现,例如跨版本升级或者为现有的数据库打补丁等操作。
具体的描述可以讲它的应用相当的强大,在这个过程中所产生的风险也会降到很低,这是一种值得的在线平滑升级方法,还有一个大前提就是应用必须支持创建逻辑备库。
1.2.3OracleStream(数据流)
随着用户需求量的增大对数据库的管理和使用方式基本转变成分布式,用户使用以及复制数据的也日益频繁,这样就需要对数据的实时更新保持一致性直观重要,而数据流就可以轻松的处理这些用户的要求。
Stream完成的数据同步容灾的根蒂是Oracleadvancedqueue。
可以灵活的配置在不同层次系统上,并且支持Oracle数据库操作的权限也提供给了用户,在应用级是相当适用的。
数据流技术是在9i版本引进,这个技术通常使用在分布式环境下用户对数据的复制以及共享自己的数据,形成数据流。
因为数据流技术拥有着灵活高效的能力,用户对数据的各种需求数据流技术都可以实现。
从成本意义上考虑,数据流技术是Oracle内部的一个功能,无需再付费。
数据流技术拥有着复制数据的实时性、高可用完整数据、变换数据模式、一到多的复制方式、一对一的复制方式和复制数据时的全程监控等等功能相当强大。
在Oracle起初加入数据流功能时,配置以及管理都太复杂了。
随着版本的不断升级对数据流技术也有所改观,10g以后数据流技术的配置到管理都简单了很多。
11g开始更是有所提升,数据流技术的性能让用户更加信赖,数据流技术的环境也变得越来越简单易懂。
1.3DG11g的新特性
从9i、10g一路走来,OracleDG11g的特性已经是较成熟较完善的,在容灾方面,也增加了新的故障检测方法,大大的减少了因故导致的停机时间,同时数据的损失也降到最低;而且他的灵活配置以及故障自检也深受用户的好评,下面对OracleDG11g的相关性能做简单介绍。
1.3.1快照备用数据库
此数据库是通过备份一个物理库形成了一个新的备用数据库。
创建后快照备用数据库打开可独立于主数据库进行读写功能、测试或其他用途。
通过快照备用出来的数据库仍然可以更新数据也可以接收主数据中的信息,一旦主数据库接收到用快照备用的物理备用数据库的信息后,主数据库的内容将会发生改变,但是将该备用数据库的内容传到主库的时候,原先主库的备份全部无效。
快照备用数据库只有在启动了读写的状态下,才可以成功的接收到主数据库的信息,这是为了在生产数据的情况下起到保护的作用。
随着DG技术的发展,其性能也越来越强大。
在11G增加许多新功能里,快照备用数据库被列入其中一项是有原因的。
在11GDG中可以把物理数据库轻松的转变为快照备用数据库;快照备用数据库的优点就是它的读和写对用户都是可用的,如过用作测试环境,那对快照备库扮演这样的角色来说再合适不过了;因为快照备用数据库在处理和接受用户的数据方面都独立与主库,而它的内部数据也是后台从主库源源不断的同步接收数据再归档到自己的存储环境里,这样同时也方便日后解决故障或者用户日常生产查询等。
在测试环境成功与否时,不管是物理备库还是快照备库都是对外的权限都是读写操作对任何用户都可以,所以测试结束必须用那个命令行关闭这样的状态,让备库真正起到保证安全的后勤作用。
在备库重回只读模式后,必须重新同步下主库的数据,此时的快照备库就算真正实现了它的功能,可以闲置不用一直管理和维护。
快照备用数据库的好处就是与主库拥有着相同的配置架构,也可以说这是Oracle数据的另一个优点,这样就可以所有架构都由一个管理员维护,不需要不同管理身份去接触环境。
在闲置的时候快照备用数据库可用作测试环境,同时也可以被当成是灾难的解决方案,一举多得,这就是高可用DG的新特性之一,也是新的优点。
1.3.2Oracle数据卫士选项支持
数据安全卫士选项是在一个或多个备用数据库提高密集型负载的,它的主要方式体现的是DG选项同步活动的效率。
支持物理备库的只读查询同时也在接收主库传来的日志同步数据。
活动的数据卫士选项也支持物理备份数据库块变化和快速的增量备份的使用,这样就消除了在执行备份数据库的开销。
在Oracle数据卫士选项支持里提供着很多实用性管理功能,包含了物理、逻辑以及快照备用数据库,同样数据卫士的选项支持在数据大仓库的管理方式里有有很大的改观;在Oracle刚刚拥有数据卫士选项支持的时候,所提供的用户回话转移就已经相当迅速了,而且容灾时故障转移也是采用的纯透明方式,继11G版本开始,这样的应用又有了大幅度的速度上的提升;同时,11g在数据卫士选项中自带了实时应用以及实时查询的功能,也就是说在把主库的日志应用到备库,不需要管备库是不是只读的模式打开着,而实时查询的意思则是不管主库在不在把日志同步到备库,用户随时都能正常的对只读的数据库内部数据进行查阅;数据卫士选项支持在11g中对延迟有个约定,指定了可承受的最大延迟的时间,若超过了约定,则数据统统视为无效,11g里面会直接拒绝这样的查询,给出的回应是直接直观的给用户一个报错信息。
1.3.3故障切换的改进
DG10g第二版介绍自动故障转移,通过使用最大的可用性保护模式(同步)快速启动故障切换使得功能的实现。
用户可能提出在基于指定的健康检查前提或存在任何ORA(报错)问题需即刻实行主动阻滞切换,而无需等候意外故障来操作切换。
在DG中,通过内置的观察器进行主备切换以及故障的观察,该观察器的正常运转的条件就是赞同故障切换,但不会因此影响用户对数据权限的约定。
一般来说观察器都被手动创建成自动处理故障的脚本,这个脚本被DBA用成一个故障切换的一个固定方式。
这么做可以第一时间解决问题,同时如果手动操作带来的危险性将会提升;当然手动操作也是自己对生产环境到一定的熟悉程度,也是一个管理者必须具备的技能,注入脚本也只是手段,并不能完全把故障切换依赖给脚本来做;不管是脚本自动切换故障也好,还是手动切换故障,这都是一个相当简便的,可靠的行为。
故障切换的改进还有个方面就是可以在观察器的内置脚本里写入检查是否存在闪回数据记录,如果存在闪回数据也可以手动执行闪回无须再进行故障切换,这样,在不需要执行故障切换的情况下执行了闪回,同样节约了时间。
1.3.4增强的数据保护
正常情况下物理备份数据库是可以被检测到的,但如果出现查找不到备份原因可能是:
备份存放的硬件故障或者说人为的修改删除。
数据保护功能在于他查找的范畴,一个模块一个模块的比较,如果此时版本不同,将促使操作数据的丢失以及写入失败。
从而用户可以拥有足够充分的时间切换主备角色并解决故障。
在日常生产过程中,数据库遭到破坏的外来原因跟内部因素有很多很多,这些因素有的可能对数据库就是致命性的打击,而有些直接影响的是数据内部数据的完整性,避免这类问题发生的唯一方式就是增强数据保护,一方面做好数据备份,另一方面做好安全方面的防护,当然考虑好安全性能后,还要保证的就是数据的高效完整,这时依赖管理员的部分可能偏多。
因为Oracle数据的数据量较大,使用的用户量也可想而知,因此Oracle采用封锁数据使得并发用户对访问的同一个数据的完整和一致,而且这样也避免了对使用的同一个数据破坏,这也是在增强数据保护后的有一个让人放心的应用。
1.3.5重做传输的改进
DG11g实施新的流设计,大大提高了传输在保护模式中最佳的性能(在异步传输和使用过程的分析解决区间)的吞吐量。
改进的同步传输的最大可用性模式来减少对主数据库的吞吐量的网络延迟的影响,提高应用程序的数量允许同步零数据损失保护,增强的两个节点的数据传输距离。
采用先进的Oracle压缩选项,可以获得更快的重新同步备用数据库在网络或备用数据库中断后。
这种先进的压缩选项的功能是由DG归档日志自动执行网络压缩为了解决备用数据库间隔传输。
1.3.6DGBroker(数据保护简单集中式管理)
数据保护简单集中式管理是DG管理方式中的一个相当有实用价值的程序,它是用来界定主库以及的备库的相关实时信息。
数据库的参数设置也是该程序根据初始化参数匹配完成并自行配置无须用户插手,比如何时启动了数据库、主备库的切换管理、把备库的相关应用服务打开等等,DG的相关应用以及设定的管理任务都是通过该程序自动运行执行完成。
数据保护简单集中式管理的还有一个特点就是能清晰的计算并保存产生故障到该故障导致角色切换所花费的时间,这个时间决定了DG环境的优劣,也是容灾能力的重要体现。
我总结了其主要功能包括以下几个方面:
(1)它可以根据数据库本身的故障来自动切换成最适合其性能的最佳模式,使得它的可用性越来越高。
(2)当可配置的事件触发目标备用数据库的时候可以及时的自动切换。
(3)当在传输选项支持改进的情况下,通常管理员可以来指定其连接,我们通常叫做重做运输。
(4)它能够支持最佳的性能保护数据库,也能较大的消除其可用性。
(5)比如一些可用性比较高的简单建设实例来说,它就是用Orac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle在Linux平台的 Data Guard应用毕业设计论文 Oracle Linux 平台 Guard 应用 毕业设计 论文