※ 本文内容Oracle Data Guard相关的学习摘要,主要参考了百度、各技术网站、以及各位前辈的博客、还有手头的一些电子和纸质的资料。在此向各位前辈、达人表示敬意。
1、什么是 Oracle Data Guard?
1) 字面直译过来叫“数据卫士”,它是一种数据库级别的HA(高可用性)方案,最主要功能是冗灾、数据保护、故障恢复等。
2)DataGuard是生产数据库的"事务一致性copy",创建时,使用生产库的物理copy.创建完成后,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。
3)一个Data Guard环境可配置一个primary 数据库(主数据库,又叫生产数据库)和最多至9个standby 数据库(备份数据库系统,又叫备用库)。
4)生产和备份数据库之间通过Oracle Net技术互联,并且有可能分布于不同地域。只要各库之间可以相互通信,它们的物理位置并没有什么限制,至于操作系统就更无所谓了(某些情况下),只要支持oracle 就行了。
5)你既可以通过命令行方式管理primary 数据库或standby 数据库,也可以通过Data Guard broker 提供的专用命令行界面(DGMGRL),或者通过OEM 图形化界面管理。
2、DataGuard两种类型
DataGuard分为"物理standby"和"逻辑standby"
物理standby:
主备库之间物理结构,逻辑结构保护一致。通常情况下备用库通过主库传输过来的归档日志做恢复。
基于"块对块"方式。与主数据库相同。物理standby等同于生产库。物理standby能以read only方式打开(或者在flashback数据库下以"读写方式打开")。
物理standby一旦以"读写"方式打开,备用库将不会从主数据库接受重做数据。只有当备库flashback到过去的点,当备用库flashback到"读写"打开时间点前的状态时,DataGuard会自动同步备库与主库。才能回复standby角色。
逻辑standby:
只保证逻辑结构与主库一致。备用库要处于打开状态,通过从主库归档日志文件中提取出来的SQL语句做恢复。
创建时,与物理standby一样,使用主库copy.
逻辑备库通过执行SQL语句来更新。DataGuard转换日志文件中的数据为SQL语句,然后在逻辑standby上执行SQL语句.因为逻辑standby是通过SQL语句来实现数据同步,那么在同步期间其必须保持打开状态。
Data Guard的类型的选择再讨论 2011-10-21
Data Guard分成两种类型,分别为物理备用数据库和逻辑备用数据库,两种类型有自己的特点,下面简单的说明:
物理备用数据库—通过存储介质的恢复来实现主数据库重做,以达到与主数据库保持一致的目的。由于采用了存储介质恢复技术,因此物理备用数据库对主数据库是分块进行备份的。由于这个特性,物理备用数据库是进行灾难恢复的最佳选择。当故障发生时,我们可以确信备用数据库和主数据库的数据是一致的。物理备用数据库有如下优点:
使用户与逻辑错误隔离
快速而有效的恢复错误
能够执行预期的转换来实现维护
能够从主数据库卸下备份
能够以只读方式打开备用数据库并生成报表
逻辑备用数据库—通过将主数据库中接收到的重做日志转换为逻辑的SQL语句,并在备用数据库中执行这些语句,来保证和主数据库的一致。由于执行的是SQL语句而不是执行介质恢复,因此逻辑备用数据库和主数据库的物理结构可能不同,而且逻辑备用数据库可以在保持不断更新的同时仍然保持打开状态。
逻辑备用数据库有如下优点:
能够从主数据库卸下报表
可以创建附加的对象来更好的支持报表
支持主数据库的螺旋式升级
选择何种类型依据具体的应用,相对于逻辑备用数据库,物理备用数据库实施和管理都相对简单,对备用数据库性能要求也较低,而且可以支持所有的数据类型,所以一般情况下如果物理备用数据库可以满足备份的需求,就使用物理备用数据库。
如果需要保持备用数据库处于长期打开的状态,或者想在备用数据库上增加额外的对象,那么逻辑备用数据库是最佳的选择。
3、DataGuard的服务:
1).重做传输服务
控制重做数据从生产机传输到一个或多个备用库。
2).日志应用服务
2.1) 生产库上通过ARCH进程生成归档日志文件,然后传输到备用库,备用库再从归档日志中恢复数据
2.2) 实时模式时,生产库上的操作通过LGWR进程实时反映在备用库的备用日志文件中,备用库从备用日志文件实时恢复数据。
3).角色切换
主备库用户角色的切换。
4、DataGuard三种保护模式:
1.)最大保护
这种模式主备库之间数据是同步的。即主库提交的同时,备库会做相应的恢复。最大限度的保证了数据完整性。不允许数据的丢失。
如果主备库之间网络,或者备库出现问题会直接影响主库操作。导致主库当机。
2.)最大可用性
这种模式和"最大保护"基本上差不多。正常情况下,主备库之间是同步的。
当网络或者备库出现问题时,不会影响到主库的当机,主库会自动转换库"最大性能"模式,等待备库可用时,将归档传输到备库做恢复。
可以把这种模式理解为"最大保护"和"最大性能"两种模式的中间体。
3.)最大性能
这种模式保证主库性能最大化,主备库之间数据是异步传输的。即,主备日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。
概要地说:
Data Guard的保护模式
● 最大保护模式: 该模式以牺牲生产数据库性能为代价,换取无数据损失的能力。
● 最大可用模式: 该模式也能提供无数据损失,对生产数据库的影响较小。
● 最大性能模式: 该模式允许少量数据损失,但能为生产数据库提供最大性能。
5、Data Guard特点总结
●灾难恢复及高可用性。
●全面的数据保护。
●有效利用系统资源。
●在高可用及高性能之间更加灵活的平衡机制。
●故障自动检查及解决方案。
●集中的易用的管理模式。
●自动化的角色转换
以上,内容不断整理中。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20335819/viewspace-709324/
,如需转载,请注明出处,否则将追究法律责任。