网站首页 > 技术文章 正文
这是学习笔记的第 2222篇文章
读完需要
9
分钟
速读仅需7分钟
如果是在几年前讨论Oracle升级的问题,其实会存在很多的异议,如今再来看待这个问题,我觉得情况有了变化,我来尝试重新解读一下这个问题。
Oracle数据库版本背景
首先来说下Oracle的版本背景。
根据Oracle的产品线规划,18c开始的新版本将是年度版,版本将是发布年度的最后两位数字。原本计划作为12.2.0.2的版本就是现在发布中的18c,12.2.0.3将以19c的版本形式发布。预期Oracle数据库19将是12.2的最后一个版本(“长期支持”版本)。
所以经历了8,8i,9i,10g,11g,12c之后,接下来的就是18c,19c,现在是2020年了,最新版本按照规划还是19c,可没有20c,要不会被笑话。
从版本V2发展至今,我细数了如下的一些版本情况。
版本发布年 | 版本 |
1979 | 2.3 |
1983 | 3.1.3 |
1984 | 4.1.4.0 |
1985 | 5.0.22 |
1988 | 6.0.17 |
1992 | 7.0.12 |
1997 | 8.0.3 |
1998 | 8.1.5.0 |
2001 | 9.0.1.0 |
2002 | 9.2.0.1 |
2003 | 10.1.0.2 |
2005 | 10.2.0.1 |
2007 | 11.1.0.6 |
2009 | 11.2.0.1 |
2013 | 12.1.0.1 |
2016 | 12.2.0.1 |
2018 | 18.1.0 |
2019 | 19c |
如果要从整体看出版本的差异情况,可以看下面的柱状图。
这个图没有体现版本之间的时间差,仅仅从版本的变化情况来看。
仅仅从这个图上就能够看出一种鲜明的差异,那就是类似SQL Server这样的年度版本,能够对于版本的差异没有那么敏感。
Oracle数据库版本规划
我们能够看到有很多的版本,如果要选择升级数据库,到底是选择12c还是18c,还是19c呢,我们来看一个版本路线图,可以参考在MOS 官方文章:Release Schedule of Current Database Releases (文档 ID 742060.1)
这个图是理解整个内容的核心,可以看到19c的定位是长期版本,而且扩展服务的截止时间是目前最长的。
相比而言18c的生命周期就会短许多,有点像昙花一些的过渡版本,从性价比来看似乎还不如早一些的12.2.0.1这个版本,如何和当时的时间背景联系起来,应该是一批早期用户从11g升级,在没有12.2版本发布时,选择了升级到12.1.0.2,所以看到的12.2.0.1和18c的发布时间也很接近。
值得一提的是,在2020年4月15日,Oracle修改了12.2.0.1的扩展服务截止时间,从2020年12月1日扩展到了2020年3月31日。(Added Limited Error Correction for 12.2.0.1 from Dec 1, 2020 until March 31, 2022)
Oracle数据库服务支持
对于扩展服务,我们可能有些陌生,大体分来,支持的强度分为三个级别:Premier Support(最高优先级的支持),Extended Support(中等优先级的支持),Sustaining Support(最低优先级的支持)。
如果和上面的图联系起来,其实就是对于扩展服务打了一些补丁,可以举个例子来说明,比如主流版本是11g,那么会有一个相对稳定产品生命周期,比如是5年,那么在这5年内是官方大力支持的阶段,会修复一系列的版本bug,推出一些改进和新功能,临近产品生命周期,就需要考虑升级,如果不升级服务支持力度上就会打一定的折扣,比如说扩展服务周期是2年,那么2年后正常来说是无法下载一些补丁更新的,如果过了扩展服务周期还没有升级,如果是大客户,花钱继续支持也可以,如果又跨越了多个时段,但是原来的版本支持还是需要,就需要做定制化的支持了。
对于数据库版本来说,10g是个坎,升级到11g是个坎,升级到12c的选择空间从上图来看就比较有限了,目前可选的就是12.2.0.1,18c和19c了。我们来看下这3个版本,我来划一下重点。
版本 | 补丁截止时间 | 备注和说明 | |
19c Long-Term Release | Mar 31, 2023 with no ES/ULA Mar 31, 2026 with ES/ULA |
| |
18c Annual Release | Jun 08, 2021 |
| |
12.2.0.1 Annual Release | * March 31, 2022 with Limited Error Correction from Dec 1, 2020 |
|
从上面的图来看,为了求稳,我们不是选择最接近的低版本,而是要首选尽可能稳定的大版本,避免后续的大版本改动。如果说得更清楚些,那就是选择19c.
版本的情况基本说完了,我们来看下升级的正确姿势,因为环境的差异,肯定初始版本都不大相同。
Oracle数据库版本升级矩阵
对于11g的数据库来说,如果是11g的最新版本,则可以直接升级到19c,这是一个极大的利好消息,避免了过渡升级带来的潜在隐患和服务不可用过长。
对于12c以上的版本(12.1.0.2以上),则可以直接升级到19c。
升级的过程可以考虑纯手工方式升级数据字典,也可以考虑使用DBUA来做。
Oracle 19c - Complete Checklist for Upgrading to Oracle Database 19c (19.x) using DBUA (Doc ID 2545064.1)
如果使用DBUA来升级,直接升级可以参考如下的表格:
Source Database | Target Database |
11.2.0.4 and Higher | 19.x |
12.1.0.2 | 19.x |
12.2.0.1 | 19.x |
18.1 | 19.x |
对于有些版本来说,则不可以直接升级,就需要过渡,比如你的版本是11.2.0.2,则需要先升级到11.2.0.4之后才可以升级到19c.
Source Database | Intermediate upgrade path | Target database | ||
11.2.0.1/11.2.0.2/11.2.0.3 | --> | 11.2.0.4 | --> | 19.x |
11.1.0.6/11.1.0.7 | --> | 11.2.0.4 | --> | 19.x |
10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5 | --> | 11.2.0.4/12.1.0.2 | --> | 19.x |
10.1.0.5 | --> | 11.2.0.4/12.1.0.2 | --> | 19.x |
9.2.0.8 or earlier | --> | 11.2.0.4 | --> | 19.x |
12.1.0.1 | --> | 12.1.0.2/12.2.0.1 | --> | 19.x |
5 尝鲜新版本
此外,如果我们想先尝尝鲜,做下测试,
Oracle提供了另外两种方式来体验新版本,一种是LiveSQL,链接是https://livesql.oracle.com,同时也可以通过dosc.oracle.com进行了解。
去IOE or Not?
拉里·佩奇(Larry Page)的伟大归来
《吊打面试官》系列-Redis基础
唯一ID生成算法剖析,看看这篇就够了
关于大数据运维能力的一些思考
DBA菜鸟的进化简史:不忘初心,记工作中踩过的三个坑
美女主持直播,被突发意外打断!湾区网友却高喊: 我懂!超甜
猜你喜欢
- 2024-10-25 Oracle 修改某字段允许为null oracle修改字段可以为null
- 2024-10-25 如何把数据库表中某个字段的所有2.0,3.0带.0的数据批量修改为2,3
- 2024-10-25 SQL 优化(四) sql优化的方法
- 2024-10-25 oracle表空间扩容 oracle表空间扩容 最大为32
- 2024-10-25 Oracle动态修改系统变量?前提是spfile启动数据库!
- 2024-10-25 在已有的数据库中修改数据类型步骤
- 2024-10-25 每次修改数据库字段都要修改对应的文档,很是麻烦,一招教你搞定
- 2024-10-25 Linux下Oracle修改数据文件存放位置
- 2024-10-25 Oracle压缩黑科技(二)—压缩数据的修改
- 2024-10-25 实战经验分享:顺利完成 Oracle 实例名称更改的关键步骤
你 发表评论:
欢迎- 633℃几个Oracle空值处理函数 oracle处理null值的函数
- 626℃Oracle分析函数之Lag和Lead()使用
- 614℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 608℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 606℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 599℃【数据统计分析】详解Oracle分组函数之CUBE
- 588℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 574℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- oracle 19cOCM认证有哪些内容(oracle认证ocm月薪)
- Oracle新出AI课程认证,转型要持续学习
- oracle 表的查询join顺序,可能会影响查询效率
- Oracle DatabaseAmazon Web Services正式可用,Oracle数据库上云更容易了
- Oracle 19.28 RU 升级最佳实践指南
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 如何主导设计一个亿级高并发系统架构-数据存储架构(三)
- Java 后端开发必看!工厂设计模式轻松拿捏
- ORA-00600 「25027」 「x」报错(抱错孩子电视剧 爸爸是武术 另一个爸爸是画家)
- 新项目终于用上了jdk24(jdk新建项目)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)