点击▲关注 “数据和云” 给公众号标星置顶
更多精彩 第一时间直达
作者:赵靖宇,云和恩墨北区交付工程师,长期服务于运营商、保险、医院、政府等行业,擅长Oracle数据库故障处理,备份恢复,升级迁移,性能优化。
环境:OEL 5.7 + Oracle 10.2.0.5
背景:Oracle发布的两篇关于2019年6月份将自动调整高版本数据库的SCN COMPATIBILITY的MOS文章引起了很多客户的恐慌,尤其是起初Oracle对10g版本未提供任何补丁。我这里结合业界多位Oracle ACE专家的系列文章,在自己的实验环境做了系列验证总结。
1.什么都不做会怎样?
2.最简单的做法是啥?
3.常用查询验证方法
4.总结
1.什么都不做会怎样?
结合多位专家的结论:
Oracle 将会在 2019 年 6 月 23 日后自动调整高版本的数据库 SCN COMPATIBILITY 为 3,调整之后,这些数据库内部的 SCN 上限增速会变成 96k, 从而可能出现超出低版本的 SCN 的情况,如果发生这种情况,将会导致低版本数据库无法与高版本通过 DB Link 进行连接。
具体解释下,这里所说的高版本,可以理解为是:11.2.0.4及以上版本,同时也包含其他低于此版本但有补丁可以应用修正的版本;而低版本就是剩下的版本。
也就是说:如果确认环境内没有所谓的高版本,理论是可以什么都不做的。但是如果你不能保证未来生产环境内不会创建新的高版本且有dblink连接交互,就不能一直坐视不管。
2.最简单的做法是啥?
这个要看你的实际情况。
2.1 无需关注
如果你的环境全是高版本,或全是低版本,且未来不会有变化,那自然无需关注。
2.2 禁用高版本的自动调整
如果你的环境绝大部分都是低版本,只有个别的高版本,可以考虑将高版本的SCN自动调整禁用掉:
begin
DBMS_SCN.DISABLEAUTOROLLOVER;end;
/
如果是在2019年6月以后安装的新的高版本,默认就是SCN COMPATIBILITY 为 3,这就需要在mount状态调低兼容性:
ALTER DATABASE SET SCN COMPATIBILITY 1;
或者最一劳永逸的做法是&