Oracle 官方给出声明DB版本对于dblink连接产生影响

在 Oracle 官方支持站点 MOS 上,最近发布了两篇告警文章

  • Oracle Databases Need to be Patched to a Minimum Patchset/PSU/RU level before April 2019 (Doc ID 2361478.1)
  • Mandatory Patching Requirement for Database Versions 11.2.0.3 or Earlier, Using DB Links (Doc ID 2335265.1)

官方给出了如下声明

对于database link带来影响的原因如下



官方给出的建议如下:



关于两篇文档内容总结如下
1、 通过 DB Link 的查询会同步数据库的 SCN,也就是这个原理会导致很多 SCN 耗尽的 Headroom 问题
2、 如果都是未应用补丁的低版本数据库互访,不会出现问题;但是如果是未应用补丁的低版本和应用了补丁的高版本之间互访,就可能出问题。
3、 如果低版本和高版本互访,在2019年4月之后,跨 DB Link 的访问不一定会出现问题,尤其是 SCN 的增长率维持低位的数据库;但是由于算法的改变,很可能会出现问题,而且概率很高;
4、 引入这样的修改和补丁,是因为 SCN 是 Oracle 的核心机制,过去遇到的 Headroom问题必须获得彻底消除,所以算法需要调整,这是非常核心的改变。
5、 如果数据库全部维持在低版本,或者不通过 DB Link 互访,则无所谓; Oracle 也提供禁用该特性的功能,但是不保证之后不改变。

在 MOS 上文档 1393360.1中,就有各种已知的描述,如果低版本的数据库 SCN 不能抬升,那么就可能遭遇:ORA-19706: invalid SCN 的错误(详情见附件)。

对于Oracle官方给出的该声明,整体建议如下:

方案一:对于低版本和高版本互访的dblink链接进行应用改造,如非必要,请尽可能采用客户端连接的方式进行交互
方案二:对dblink的源端以及目标端数据库进行补丁升级,以符合官方要求版本太低的可进行跨版本升级,但需要先对稳定性以及性能进行调整测试,如SPA等。

不建议:关闭scn新特性

因为当前关闭新特性是为了向下兼容,那么今后新数据库部署,就都需要关闭该功能,但是Oracle 虽然现在提供禁用该特性的功能,却不保证之后不改变,以后也会有诸多功能基于此特性开发,越往后进行应用,覆盖面约广,所以建议在过渡期内升级打patch,而不是等该特性运行后,大面积实行。

参考:http://www.sohu.com/a/225739395_505827

http://ju.outofmemory.cn/entry/354015

发表回复

您的电子邮箱地址不会被公开。