前情回顾,请参考之前的文章:
预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相 解决方案:Oracle的 DB Link 问题及2019年4月前升级路线详述 Oracle 的 DBMS_SCN 修正以及 SCN 的 auto-rollover 新特性
在 Oracle 官方支持站点 MOS 上,此前关于 DB Link 和 SCN 问题的两篇文章已经更新,发布了更详细的信息,现在这两篇文章的标题已经修改为:
Recommended patches and actions for Oracle databases versions 12.1.0.1, 11.2.0.3 and earlier – before June 2019 (Doc ID 2361478.1) Recommended patching and actions for Oracle database versions 12.1.0.1, 11.2.0.3 and earlier - before June 2019 (Doc ID 2335265.1)
主要更新反应了2点:
原来这两篇文章的标题是这样子的:
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)
现在大家终于可以松下一口气了,Oracle 开始较为详细的说明这件事,并且将时间延迟到6月份,我以为原来的文章是内部留了一个余量,现在看来是修正了。我们此前也在文章中详述了可选的解决方案,如果不启用新的SCN兼容性3,补丁应用就不是必须的。
在文章中,首次澄清了补丁修正的内容,补充了以下详细的描述,由于我们之前文章已经详细解释了这些内容,在此我只简要的翻译一下好了:
3. What is the change introduced by the patches listed above? These patches increase the database's current maximum SCN (system change number) limit. At any point in time, the Oracle Database calculates a "not to exceed" limit for the number of SCNs a database can have used, based on the number of seconds elapsed since 1988. This is known as the database's current maximum SCN limit. Doing this ensures that Oracle Databases will ration SCNs over time, allowing over 500 years of data processing for any Oracle Database. These recommended patches enable the databases to allow for a higher current maximum SCN limit. The rate at which this limit is calculated can be referred to as the “SCN rate” and these patches help allow higher SCN rates to enable databases to support many times higher transaction rates than earlier releases. Please note that the patches only increase the max limit but the current SCN is not impacted. So, if all your databases don’t have any major change in transaction rate, the current SCN would still remain below the current maximum SCN limit and database links between newer (or patched) and unpatched databases would continue to work. The patches provide the safety measure to ensure that you don’t have any issue with dblinks independent of any possible future change in your transaction rate. 请注意,这个补丁仅仅是增加了最大的SCN限制,所以如果你的数据库在事务率方面没有改变,或者事务率不高,当前的SCN将维持在最大SCN限制以下,在旧版本和新版本之间的DB link也可能毫无问题。 With the patches applied, this change in current maximum SCN limit will happen automatically starting 23rd June 2019. 如果应用了补丁,SCN 新算法的自动生效期是:2019年6月23日。 4. What happens if the recommended PSU / patchset is not applied? If this patch is not applied, the unpatched database will have a lower SCN rate or lower current max SCN limit. The newer or patched databases will have higher SCN rate or higher current max SCN limit. 如果不应用补丁,低版本的数据库使用低SCN增长率,高版本数据库使用高SCN增长率。这两类数据库互联,就可能出现SCN的问题。 Therefore, there can be situations when the patched database is at a higher SCN level (due to the higher SCN rate allowance) and the unpatched database is at a much lower SCN level (due to lower SCN rate allowance). When you open a dblink between these two databases, it has to sync the SCN levels of both the databases and if the SCN increase needed in the unpatched database for this sync is beyond it’s allowed SCN rate or current max SCN limit, then the dblink connection cannot be established. This situation will not rise immediately after the change, but can potentially arise any time after 23rd June 2019.