由于 Oracle DB 从 12c 升级到 19c,对现有 SQL、PL/SQL 脚本和数据模型有何影响?
Posted
技术标签:
【中文标题】由于 Oracle DB 从 12c 升级到 19c,对现有 SQL、PL/SQL 脚本和数据模型有何影响?【英文标题】:Any impact on existing SQL, PL/SQL scripts and data model due to Oracle DB upgrade from 12cto 19c? 【发布时间】:2020-09-09 01:28:21 【问题描述】:我想谈谈我对数据库从 12c 升级到 19c 对现有 SQL、PL/SQL 脚本和数据模型的影响的理解: 根据我自己的研究和理解——
-
没有发现可能导致我的失败的更改
ETL 加载和报告查询期间的现有 SQL 和 PL/SQL。
没有识别出可能影响现有数据类型的更改
数据模型。 Oracle 中仅支持扩展数据类型特性
数据库 19c。我们没有在现有数据模型中使用扩展数据类型。
12.2 和 19c 之间关键功能的数据库布局尚未
改变了。因此,您对 12.2 和 19c 的设置不应导致任何问题
如果有任何进一步的评论或意见,请告诉我。
【问题讨论】:
【参考方案1】:因此,您对 12.2 和 19c 的设置不会导致任何问题
没错。
正式地,有 新功能 来描述发生了什么变化。非正式地,我找到了一个不错的 article,作者是 Dave Partridge,他说(我稍微格式化了它):
很容易担心 18c 和 19c 代表重大升级。然而,这种情况并非如此。 18c 和 19c 都是 Oracle 数据库的 12.2 版本。
Oracle Database 18c 是 Oracle 12c 第 2 版 (12.2.0.2)。 (...) Oracle 19c 本质上是 Oracle 12c 第 2 版 (12.2.0.3)。
非常清楚,我会说。所以,从我的角度来看,不用担心,升级。如果您先在测试环境中执行此操作,则不会造成伤害。
【讨论】:
【参考方案2】:理论上您可能没有任何不兼容或问题。但是经验表明,升级Oracle数据库总是存在一些风险:主要是SQL执行计划的变化,因为基于成本的优化器(CBO)总是得到改进:通常没问题,但你可能会有一些例外(即执行计划发生了变化)变慢);这就是为什么性能测试应该是升级测试中的强制性步骤。切勿在未在数据库的物理副本上进行测试的情况下直接在生产环境中进行升级:这样做可能会导致灾难!
除了 Oracle 文档和 support.oracle.com,我建议经常查看 Mike Dietrich 博客,这是最好的(如果不是最好的)Oracle 升级知识库之一: https://mikedietrichde.com/
如果在 Oracle 升级和修补期间没有问题,Mike Dietrich 博客将与它的实际情况大不相同......
【讨论】:
以上是关于由于 Oracle DB 从 12c 升级到 19c,对现有 SQL、PL/SQL 脚本和数据模型有何影响?的主要内容,如果未能解决你的问题,请参考以下文章
OPatch从 Oracle Database 19.3 升级到 Oracle Database