编者按:使用过数据保护的人应该熟悉备用重做日志。在配置了备用重做日志的备用数据库中,可以实时应用日志,并且备用重做日志可以为从主库传输的日志添加一层安全保护。然而,在许多生产环境中,每个人都很少使用备用重做日志。本文将深入分析备用重做日志的前世、工作机制和一些最佳实践。
本文翻译自BPeaslandDBA的博客。原文链接:https://community.oracle.com/docs/DOC-1007036
正式介绍
在生产环境中,我发现大部分备用重做日志都没有配置在Data Guard的备用上,这让我很惊讶。我认为配置备用重做日志是非常必要的。在我的环境中,我总是配置备用重做日志。当然,配置备用重做日志为DBA增加了一些需要维护的东西,但完全值得,而且备用重做日志配置投入使用后,后期维护基本不需要花费太多精力。
我觉得大部分人不使用SRL的原因是不理解SRL能带来的好处。本文将详细解释SRLs的优势、创建和维护方法以及最佳实践。
为什么要用SRLs?
如果备用配置了最大保护模式,则必须配置备用重做日志。
几乎实时传输的日志由SRLs及时存储和应用。当然,如果是最大性能模式,配置SRLs也会有很多好处。为了让读者更好的理解这一点,首先我们来看看在没有SRL的情况下,日志传输是如何进行的。
在基于日志的异步传输的情况下,很多用户都有这样的误解。
认为只有ARCn进程可以将主库的日志转移到备用库。这个观点在早期版本中是正确的。
但是,从10g甚至9i开始,只有在没有配置SRLs的情况下,ARCn进程才会传输日志。如果配置了SRLs,12c之前由LNS进程传输,12c之后由NSAn进程完成传输日志的任务。NSAn的传输几乎是实时的。
如果未配置SRLs,日志传输必须等待主库中的日志切换。如果主库中的日志切换每小时发生一次,可能会有一个小时的数据丢失风险。如果主库中的日志切换频率越低,数据丢失的概率就越高。
当然,这种情况可以通过设置主库的初始化参数ARCHIVE_LAG_TARGET来改善。如果数据库管理员将控制器局域网参数设置为3600秒,日志切换最多每小时发生一次。但即便如此,一个小时的数据丢失还是很大的,对于大多数企业用户来说,这种损失是无法接受的。
为了降低等待日志切换造成数据丢失的风险,你所需要做的就是配置SRLs,很简单,但是可以给你的系统带来很大的性能和安全性。
如何创建服务请求列表
创建SRLs的方式与创建普通在线重做日志的方式非常相似。最好在alter Database命令中再添加一个属性设置,即添加关键字“待机”。
首先,让我们看看当前系统中在线重做日志的大小设置。
至于上面的结果,我看到有人理解为“50MB”,然后他们把SRLs的大小设置为50MB,这是不准确的。
在操作过程中,我完全按照在线重做日志的大小来设置SRLs的大小。另一点是,有时我们看到ORL不同群体的原木尺寸不同。在这种情况下,不能直接配置SRLs。
建议在配置SRL之前,所有在线重做日志的大小都应该相同。
接下来,我们配置SRLs。
lSRLs的创建语句和普通在线重做日志的创建唯一的区别就在于增加了一个关键字备用。当我创建它的时候,它的大小完全是根据ORL的大小设定的。
系统中目前有三组在线重做日志。创建SRLs时,如果未指定组的数量,系统将默认写入组4-6。然后,如果以后需要添加日志组,可能会出现混淆。因此,我从第10组开始配置SRLs。
接下来,我们通过数据字典来看SRL
我们可以看到SRLs对应的线程#是0。配置SRL时,尽量避免将SRL设置到特定的线程,这样主库中所有节点的ORL都可以使用。
接下来,我们看看所有的日志类型组。
因为组的编号在创建时是分开的。因此,在查询时,可以根据日志的类型来排列结果。
最佳实践
事实上,在引入SRLs时,已经设计了一些最佳实践。在本节中,我们将更全面地介绍自律学习的最佳实践。
一个
确保所有已配置的SRLs组的日志大小一致。
2
确保所有SRLs组中的日志大小与ORL相同。确保从主库中传输的所有日志都可以保存在SRLs中,以满足足够的空。当然,如果没有办法保证SRL的大小与ORL一致,可以将SRL的大小设置为大于ORL。
三
不要在SRLs中配置任何线程,这样SRLs可以被所有节点使用,包括RAC中的主节点。
四
当牛在备用数据库上配置SRL时,它们也需要在主数据库上配置SRL。一般情况下,不会使用主数据库上配置的SRLs,但是如果有一天需要进行切换,提前配置SRLS会带来很大的方便。
五
对于Oracle RAC的主备方案,最好将备用节点的数量配置为所有主节点的数量。例如,如果您有一个3节点的Oracle RAC数据库,并且在每个节点上配置4组SRL,则需要在备用节点上配置3*4=12组SRL。无论您的备用数据库中有多少实例,备用数据库都必须确保它能够容纳所有主数据库节点上的ORL。
总结
本文主要分析了什么是备用重做日志,以及备用重做日志在Oracle备用数据库日志传输中的作用。如果您的分布式发电系统处于最大保护模式,您必须配置SRLs。如果处于最高性能模式,配置SRLs可以最大限度地减少数据丢失。
1.《standby Standby Redo Logs的前世今生与最佳实践》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《standby Standby Redo Logs的前世今生与最佳实践》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1593502.html