当前位置: 首页 > 知识库问答 >
问题:

Oracle DB从12cto升级到19c对现有SQL、PL/SQL脚本和数据模型有何影响?

程天佑
2023-03-14

我想讨论一下我对DB从12cto 19c升级对现有SQL、PL/SQL脚本和数据模型的影响的理解:根据我自己的研究和理解-

  1. 在ETL加载和报告查询期间,没有识别出可能导致现有SQL和PL/SQL失败的更改
  2. 没有确定可能影响现有数据模型的数据类型更改。Oracle数据库19c中仅不支持扩展数据类型功能。我们没有在现有数据模型中使用扩展数据类型
  3. 12.2和19c之间的关键特性的数据库布局没有改变。因此,12.2和19c的设置不应导致任何问题

请让我知道任何进一步的意见或输入。

共有2个答案

轩辕炎彬
2023-03-14

理论上,你可能没有任何不相容或问题。但经验表明,升级Oracle数据库总是存在一些风险:主要是SQL执行计划的变化,因为基于成本的优化器(CBO)总是得到改进:一般来说,这没什么问题,但您可能会遇到一些例外(即执行计划发生了变化,变得很慢);这就是为什么性能测试应该是升级测试中的一个强制性步骤。如果不在数据库的物理拷贝上进行测试,就不要直接在生产中进行升级:这样做可能会导致灾难!

除了Oracle文档和支持之外。神谕com,我建议您经常查看Mike Dietrich的博客,这是最好的(如果不是最好的话)Oracle升级知识库之一:https://mikedietrichde.com/

如果在Oracle升级和修补过程中没有问题,MikeDietrich的博客将与现在大不相同。。。

宋志学
2023-03-14

因此,12.2和19c的设置不应导致任何问题

确切地

官方上,有一些新的特性描述了发生的变化。非正式地,我发现了DavePartridge写的一篇很好的文章,他说(我稍微格式化了一下):

人们很容易担心,18c和19c代表着重大升级。然而,事实并非如此。18c和19c都是Oracle数据库的12.2版本。

  • Oracle Database 18c是Oracle 12c版本2(12.2.0.2)。(…)

我得说,非常清楚。所以,在我看来,不用担心,升级吧。如果您首先在测试环境中进行,则不会有什么坏处。

 类似资料:
  • 我尝试运行一个脚本(包括数据库创建、过程创建、表创建、数据插入)文件,如下所示:

  • 主要内容:PL/SQL标量数据类型和子类型,PL/SQL数值数据类型和子类型,PL/SQL字符数据类型和子类型,PL/SQL布尔数据类型,PL/SQL日期时间和间隔类型,PL/SQL大对象(LOB)数据类型,PL/SQL用户定义的子类型,PL/SQL中的NULL在本章中,我们将讨论和学习PL/SQL中的数据类型。 PL/SQL变量,常量和参数必须具有有效的数据类型,它指定存储格式,约束和有效的值范围。本节将重点介绍和数据类型。其他两个数据类型(复合类型和引用类型)将在后面的章节中介绍。 标量(S

  • 当我像这样调用过程时 错误报告ORA-01403:找不到数据ORA-06512:at“apps.invoicedetails”,第5行ORA-06512:at第2行014 03。00000-“未找到数据”

  • 问题内容: 从PL / SQL到Java来回传递数字和字符串没有问题,但是如何传递 数组 ?我从PL / SQL调用Java-并非如此。 下面是一个按预期工作的示例。如何编写PL / SQL 调用规范 ,以便可以从PL / SQL调用它? 我已经阅读了《发布带有调用规范的Java类》,其中可以看到嵌套表与相对应,但是我无法使其工作。我可能缺少一些琐碎的细节,因为我不是Java程序员。 问题答案:

  • 主要内容:1. 创建函数,2. 调用函数,3. PL/SQL递归函数在本章中,我们将讨论和学习PL/SQL中的函数。函数与过程(也叫程序)相同,只不过函数有返回一个值,而过程没有返回值。 因此,上一章中所有有关存储过程的内容也适用于函数。 1. 创建函数 使用语句创建独立函数。语句的简化语法如下: 其中, function-name是指定要创建的函数的名称。 [OR REPLACE]选项指示是否允许修改现有的函数。 可选参数列表包含参数的名称,模式和类型。 表示将