18C之前的版本标识
Oracle的版本发布和补丁策略一直没有太大的调整,基本保持3-4年一个大版本,两代产品之间会出一个Release 2。这种策略的好处是能够保证系统的稳定性,一个新的大部分更新到Release 2时,基本被认为是比较稳定的版本,保守的用户一般会选择这个版本进行升级。
Oracle 12.2之前的版本标识图
Major Database Release Number
第一个数字是最一般的标识符。它代表了包含重要新功能的软件的主要新版本
Database Maintenance Release Number
第二个数字代表维护版本级别。一些新功能也可能包括在内。
Fusion Middleware Release Number
第三个数字反映了Oracle融合中间件的发布级别
Component-Specific Release Number
第四个数字标识特定于组件的发布级别。例如,取决于组件补丁集或临时版本,不同的组件在这个位置可以具有不同的编号。
Platform-Specific Release Number
第五个数字标识特定于平台的版本。通常这是一个补丁集。当不同的平台需要相同的补丁集时,这个数字在受影响的平台上将是相同的。
18C之后的版本标识
从2017年7月开始,Oracle改变了以往的数据库软件发布流程,采用年度Release和季度更新的策略。
Yearly Release
将之前的N年一发布更改为每年一发布。每年发布的策略能够将更多的新功能更快的提供给用户,同时也大大减少了单次软件变更的数量,避免大的版本升级对系统产生的风险。
Quarterly Release Update
Oracle会在每年1/4/7/10月提供季度发布更新。季度更新主要包含查询优化器相关BUG和安全漏洞的修复等。
Release Update Revisions
除季度更新之外,发布更新修订也将按季度发布,基于上一个RU的缺陷进行修复,并包含最新的安全漏洞补丁。
每个季度更新发布之后的六个月内,最多有两个独立的更新修订(RUR)。例如,Release.Update.1和Release.Update.2,其中“1”和“2”代表版本迭代。
新的年度Release发布后的至少两年内,都会提供RU的支持,每个RU又会提供两个独立的RUR支持。因此每个年度Release至少会有3年的更新支持周期。
基于上述的策略,新的Oracle数据库版本号主要由三位数组成 – release.update.revision。
Release 是发布年份的后两位数字,比如最新发布的18c,表示该版本发布于2018年
Update 表示RU或者测试版本,发布于第一个季度为1,之后每个季度加1
Revision 表示RUR版本,基于某个RU的修订,每个RU最多两个RUR
PS:我们现在看到的版本号可能仍然是5位的,第4位是Oracle数据库的增量版本,偶尔会用于Oracle云数据库中,第5位是保留位,预留给将来。对于大多数用户来说,只需要关注前3位。
Oracle 18c版本标识
其他
Oracle新的策略发布频率明显加快,能够更快的推出新功能。
当前的数据库市场竞争非常的激烈,熟悉开源数据库的同学可能已经看出,Oracle的版本策略已经逐步在向开源数据库靠拢。之前的那种3-4年一个大版本已经很难再跟上开源产品快速迭代的步伐,所以个人认为,这即是一个技术上的调整,更是一个商业上的调整。