签到成功

知道了

CNDBA社区CNDBA社区

从生命周期的角度来谈谈Oracle 软件的版本(12c/18c/19c/20c/21c)问题

2022-04-21 20:37 11462 1 原创 Oracle 19c
作者: dave

在2017年之前,Oracle 的版本路线是非常清晰的,我接触过的几个版本有:9i、10g、11g、12c。 但是到了2018年之后,Oracle 改变了版本的命名规则,以至于现在还有很多人还无法准确的分清Oracle 12c、18c、19c、20c、21c 他们之间的关系。

http://www.cndba.cn/cndba/dave/article/107944

本文我们将从生命周期的角度,来解析Oracle 版本的秘密。

http://www.cndba.cn/cndba/dave/article/107944
http://www.cndba.cn/cndba/dave/article/107944

1 Oracle 数据库的生命周期


Oracle 软件之所有版本的问题,和它的软件生命周期有一定的关系,我们先看它每个版本的生命周期规则:http://www.cndba.cn/cndba/dave/article/107944

  1. PS: Premier Support,5年。
  2. ES: Extended Support,3年
  3. SS: Sustaining Support,无限制。

Oracle 软件的每个版本都会有这3个生命周期。 但是因为SS周期的费用太贵,所以正常我们只会用到PS 和 ES 的周期,即8年。

2 Oracle 软件版本的命名规则


2.1 Oracle 18c之前的命名规则

在Oracle 18c 之前,Oracle 的版本格式由5位数字组成,比如:11.2.0.4.0

  1. 第一数字位:Major Database Release Number,它代表的是一个新版本软件,也标志着一些新的功能。如11g,10g。
  2. 第二数字位:Database Maintenance Release Number,代表一个maintenance release 级别,也可能包含一些新的特性。
  3. 第三数字位:Fusion Middleware Release Number,反应Oracle 中间件(Oracle Fusion Middleware)的版本号。
  4. 第四数字位: Component-Specific Release Number,主要是针对组件的发布级别。不同的组件具有不同的号码。 比如Oracle 的patch包。
  5. 第五数字位:Platform-Specific Release Number,这个数字位标识一个平台的版本。 通常表示patch 号。

2.2 Oracle 18c 之后的命名规则


Oracle 18c开始,Oracle 的版本还是5位,但是意义却发生改变。

http://www.cndba.cn/cndba/dave/article/107944

第一个、第二个和第三个数字提供有关Oracle数据库版本的信息:

  1. 第一数字位:Oracle数据库的主版本号。从18c开始,主版本号是首次发行该版本的年号。例如2018年发布了18c,那么主版本号是18。
  2. 第二数字位:在18c及以后版本表示数据库更新的版本,如:18.1表示更新版本1.而在18c之前表示维护版本号,通常一个大版本只有两个维护版本(1,2),但是18c有所不同,根据RU来定,每个RU就会增加1,所以会有18.4,18.5等。
  3. 第三数字位:Oracle RUR(release update revision)版本,每个RU最多有两个RUR。
  4. 第四数字位:Oracle增量版本。此术语可以应用于将来版本中的更新,并且适用于早于18c的所有版本。例如:12.1.0.1,12.2.0.1。
  5. 第五数字位:预留部分,留着以后使用。

关于RU、RUR、补丁的概念我们以后的文章再进行说明。

3 Oracle 软件的版本


我们这里看2张Oracle 官方的软件发布路线图:

http://www.cndba.cn/cndba/dave/article/107944http://www.cndba.cn/cndba/dave/article/107944

参考:Release Schedule of Current Database Releases (Doc ID 742060.1)

当一个版本的生命周期结束以后,就无法在购买到软件授权和维保服务。 比如我们现在无法买到Oracle 11.2.0.4 的授权,连Oracle 18c的生命周期也都已经结束,目前我们能购买到的版本,只有Oracle 19c、20c、21c。

下表是各个版本生命周期的结束时间,原表比较大,我这里截图了前面的部分,从这里看到,Oracle 18c的生命周期是2021年6月30号结束的,Oracle 19c的生命周期在2024年4月30号。

实际上,从我这样一个接触Oracle 十几年的老兵来看,这几年Oracle 版本变化确实比较快,也确实是需要花一些时间来消化和整理。

从上面的几个图,我们其实还可以看到另外2个版本的信息:Long Term Release 和Innovation Release.

官网对着2个版本有说明,我这里直接引用,不再翻译:
Long Term Release:

Oracle Database Long Term Releases are ideal for use cases that benefit from less frequent upgrades to newer releases. Long Term Releases offer the highest level of stability and the longest length of error correction support. These releases have 5 years of Premier Support followed by 3 years of Extended Support. When combined with Extended Support, customers typically have almost 4 years to upgrade from one Long Term Release to the next Long Term Release.

Innovation Release:http://www.cndba.cn/cndba/dave/article/107944

In between Oracle Database Long Term Releases, Oracle delivers Oracle Database Innovation Releases that include many enhancements and new capabilities which will also be included in the next Long Term Release. Innovation Releases are designed to enable customers to continuously use leading-edge technologies to rapidly develop or deploy new applications or augment existing applications. Support for Innovation Releases includes at least 2 years of Premier Support, but there is no Extended Support. Production workloads can be deployed on Innovation Releases if upgrading to the next database release within one year after the next database release ships is factored into the deployment plan.

从之前的2张图片也可以非常清晰的看出,Oracle 也在不断淡化之前的老版本号的问题。在早期的路线图中,我们还可以看到新版本号和老版本号之间的对应关系。 如果按旧的版本号规则,18c 等于 12.2.0.2。 19c 等于12.2.0.3。

在新的版本路线图中,Oracle 19c 将是一个长期版本。如果按旧的观点,我们应该等的是12.2.0.4, 类似于11.2.0.4。 但是Oracle 现在直接告诉我们,没有这个版本了。 19c 将是12c 家族的最后一个长期支持版本。

4 如何选择Oracle 版本


我们在上文铺垫了很多有关版本的信息,那么在实际使用中,我们该如何选择?

http://www.cndba.cn/cndba/dave/article/107944

因为目前Oracle 开始了新的命名规则,简单的说,我们在选择版本的时候只有一个标准,就是选择Long Term Release 版本,也就是我们之前提到的Oracle 19c,目前19c的RU 已经迭代到了19.15, 并且还将持续迭代到2024年。

另外,虽然我们现在也可以下载到20c和21c,但是这2个版本都是Innovation Release,这也因为着着2个版本更多的具有测试的意味,这2个版本会存在较多的bug。

从实际生产来说,我们目前可以选择的只有Oracle 19c。 当然,我们也可以等到2023年, 23c 也会是一个Long Term Release 版本。

最后,我们再回到技术本身, 不同版本其实对应的是不同的技术路线,Oracle 12c、18c、19c, 这3个版本实际上是同一个架构,即12.2 家族。 Oracle 20c、21c、22c、23c 会是另外一个技术家族。

不同的技术家族,往往代表着非常大的架构变化。 12.2 家族和 11g 家族最大的技术变化,就是引入了多租户(CDB)、In-Memory、Sharding 等特性,虽然从开发者角度来看,Oracle 还是那个Oracle,但从运维者角度来看,就是一个非常大的变化,需要重新来学习一遍。 因此我在2019年专门出版了一本书籍:《Oracle 18c 必须掌握的新特性》 ,详细的介绍了12.2 家族中引入的这些新特性。

http://www.cndba.cn/cndba/dave/article/107944

5 结束语


虽然目前我们能听到很多国产数据库的声音,但Oracle作为传统的关系型数据库王者,它的地位依旧无法撼动,在追赶Oracle 的这条道路上,国产数据库还有很长的路要走,但我相信,在我的技术生涯中,会看到那一天。

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8176311次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ