Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

升级 Oracle 数据库引擎

如果 Amazon RDS 支持新版本的 Oracle,您可以将数据库实例升级到新版本。Amazon RDS 支持对 Oracle 数据库实例进行以下升级:

  • 主要版本升级 – 从 11g 到 12c。

一般而言,主引擎版本升级可能引入与现有应用程序不兼容的更改。相比之下,次要版本升级仅包含与现有应用程序向后兼容的更改。

您必须手动修改数据库实例才能执行主要版本升级。如果您在数据库实例上启用自动次要版本升级,次要版本升级将自动进行。在所有其他情况下,您必须手动修改数据库实例才能执行次要版本升级。

进行升级时发生中断。服务中断时间因引擎版本和数据库实例大小而异。

有关在 Amazon RDS 上可用的 Oracle 版本的信息,请参阅 Oracle 数据库引擎发行说明

升级概览

在升级流程期间,Amazon RDS 会创建两个数据库快照。第一个数据库快照是数据库实例在进行任何升级更改前的。如果无法完成数据库的升级,那么,就可以恢复此快照,创建一个运行旧版本的数据库实例。第二个数据库快照是在升级完成后制作的。

注意

如果您将数据库实例的备份保留期设置为大于 0 的数字,则 Amazon RDS 只需创建数据库快照。要更改您的备份保留期,请参阅 修改运行 Oracle 数据库引擎的数据库实例

升级完成后,您无法恢复为之前版本的数据库引擎。如果要返回之前的版本,则需要还原在升级之前创建的数据库快照,以此创建新的数据库实例。

如果数据库实例在多可用区部署中,则同时升级主副本和备用副本。如果不需要操作系统更新,则主要和备用数据库实例同时升级,而您会遇到中断,直到升级完成。

如果数据库实例位于多可用区部署中并且需要操作系统更新,则当您请求数据库升级时,将应用操作系统更新。在这种情况下,操作系统会在备用数据库实例上更新,并升级备用数据库实例。在该升级完成后,主数据库实例故障转移到备用数据库实例,新备用数据库实例(之前的主数据库实例)上的操作系统得到更新,该数据库升级。

主要版本升级

Amazon RDS 支持以下主要版本升级:

  • 运行 Oracle 版本 12.1.0.2 的 Oracle 数据库实例升级到 Oracle 版本 12.2.0.1

  • 运行 Oracle 版本 11.2.0.4 的 Oracle 数据库实例升级到 Oracle 版本 12.2.0.1

  • 运行 Oracle 版本 11.2.0.4 的 Oracle 数据库实例升级到 Oracle 版本 12.1.0.2.v5 和更高版本。

要执行主要版本升级,请手动修改数据库实例。主要版本升级不会自动进行。

在一些情况下,您当前的 Oracle DB 数据库实例可能正在您要升级到的版本不支持的数据库实例类上运行。在此类情况下,您必须将数据库实例迁移到支持的数据库实例类,然后才能进行升级。有关 Amazon RDS Oracle 的每个版本支持的数据库实例类的更多信息,请参阅数据库实例类

在执行主要版本升级前,Oracle 建议您对您要升级的数据库实例收集优化器统计数据。收集优化器统计数据可以减少升级过程中的数据库实例停机时间。要收集优化器统计数据,请以主用户身份连接到数据库实例,然后运行以下 DBMS_STATS.GATHER_DICTIONARY_STATS 过程,如以下示例所示。

EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

有关更多信息,请参阅 Oracle 文档中的收集优化器统计数据以减少 Oracle 数据库停机时间

注意

已弃用的 Oracle 版本(如 Oracle 版本 11.2.0.3 和 11.2.0.2)不支持主要版本升级。

不支持主要版本降级。

从 11g 到 12c 的主要版本升级必须升级到在同一个月或更晚发布的 Oracle 修补程序集更新 (PSU)。

例如,支持从 Oracle 版本 11.2.0.4.v14 到 Oracle 版本 12.1.0.2.v11 的主要版本升级。但是,不支持从 Oracle 版本 11.2.0.4.v14 到 Oracle 版本 12.1.0.2.v9 的主要版本升级。这是因为 Oracle 版本 11.2.0.4.v14 在 2017 年 10 月发布,而 Oracle 版本 12.1.0.2.v9 在 2017 年 7 月发布。有关每个 Oracle PSU 的发布日期的信息,请参阅Oracle 数据库引擎发行说明

Oracle 次要版本升级

次要版本升级在主要版本中应用 Oracle PSU。

不支持以下次要版本升级。

当前版本 不支持升级

12.1.0.2.v6

12.1.0.2.v7

12.1.0.2.v5

12.1.0.2.v7

12.1.0.2.v5

12.1.0.2.v6

注意

不支持次要版本降级。

Oracle SE2 升级路径

下表显示了所支持的升级到 标准版 2 (SE2) 的路径。有关附带许可模型和自带许可 (BYOL) 模型的更多信息,请参阅 Oracle 许可

您的现有配置 支持的 SE2 配置

12.2.0.1 SE2,BYOL

12.2.0.1 SE2,BYOL 或附带许可

12.1.0.2 SE2,BYOL

12.2.0.1 SE2,BYOL 或附带许可

12.1.0.2 SE2,BYOL 或附带许可

11.2.0.4 SE1,BYOL 或附带许可

11.2.0.4 SE,BYOL

12.2.0.1 SE2,BYOL 或附带许可

12.1.0.2 SE2,BYOL 或附带许可

要从现有配置升级到支持的 SE2 配置,请使用一个支持的升级路径。有关更多信息,请参阅 主要版本升级

选项和参数组注意事项

选项组注意事项

如果数据库实例使用自定义选项组,则在某些情况下,Amazon RDS 无法自动向数据库实例分配新的选项组。例如,在升级到新的主要版本时,将执行该操作。在上述情况下,在升级时必须指定新的选项组。我们建议您创建新的选项组,然后向该组添加与现有自定义选项组相同的选项。

有关更多信息,请参阅 创建选项组为选项组创建副本

如果数据库实例使用包含 APEX 选项的自定义选项组,在某些情况下,您可通过在升级数据库实例的同时升级您的 APEX 版本来减少升级数据库实例所需的时间。有关更多信息,请参阅 升级 APEX 版本

参数组注意事项

如果数据库实例使用自定义参数组,则在某些情况下,Amazon RDS 无法自动向数据库实例分配新参数组。例如,在升级到新的主要版本时,将执行该操作。在上述情况下,在升级时必须指定新的参数组。我们建议您创建新参数组,然后配置您现有的自定义参数组中的那些参数。

有关更多信息,请参阅 创建数据库参数组复制数据库参数组

测试升级

在数据库实例上执行主要版本升级前,应该彻底地测试数据库以及访问该数据库的所有应用程序,了解是否与新版本兼容。我们建议您使用以下过程。

测试主要版本升级

  1. 检查新版数据库引擎的 Oracle 升级文档以了解是否存在可能会影响数据库或应用程序的兼容性问题。有关更多信息,请参阅 Oracle 文档中的数据库升级指南

  2. 如果数据库实例使用自定义选项组,则创建与您正升级到的新版本兼容的新选项组。有关更多信息,请参阅 选项组注意事项

  3. 如果数据库实例使用自定义参数组,则创建与您正升级到的新版本兼容的新参数组。有关更多信息,请参阅参数组注意事项

  4. 为要升级的数据库实例创建数据库快照。有关更多信息,请参阅创建数据库快照

  5. 恢复数据库快照,以便创建一个新的测试数据库实例。有关更多信息,请参阅从数据库快照还原

  6. 使用下面介绍的一种方法来修改此新测试数据库实例,以将其升级到新版本:

  7. 执行测试:

    • 对升级的数据库实例运行所需次数的质量保证测试以确保数据库和应用程序可正常使用新版本。

    • 实施任何必需的新测试,评估您在步骤 1 中发现的任何兼容性问题的影响。

    • 测试存储的所有过程、函数和触发器。

    • 将应用程序的测试版本指向所升级的数据库实例。验证各应用程序可与新版本一起正常使用。

    • 计算升级的实例使用的存储容量以决定升级是否需要额外的存储容量。为了在生产中支持新版本,您可能需要选择较大的实例类。有关更多信息,请参阅 数据库实例类

  8. 如果所有测试通过,那么请在生产数据库实例上执行升级。我们建议您直到确认一切正常后,再允许对数据库实例执行写入操作。

升级 Oracle 数据库实例

有关手动或自动升级 Oracle 数据库实例的信息,请参阅升级数据库实例引擎版本