

# RDS for Oracle 引擎升级概述
<a name="USER_UpgradeDBInstance.Oracle.Overview"></a>

升级 RDS for Oracle 数据库实例之前，请自行熟悉以下概念。

**Topics**
+ [

## 主要和次要版本升级
](#USER_UpgradeDBInstance.Oracle.Overview.versions)
+ [

## RDS for Oracle 的支持日期和强制升级
](#Aurora.VersionPolicy.MajorVersionLifetime)
+ [

## Oracle 引擎版本管理
](#Oracle.Concepts.Patching)
+ [

## 在引擎升级期间自动拍摄快照
](#USER_UpgradeDBInstance.Oracle.Overview.snapshots)
+ [

## 多可用区部署中的 Oracle 升级
](#USER_UpgradeDBInstance.Oracle.Overview.multi-az)
+ [

## 只读副本的 Oracle 升级
](#USER_UpgradeDBInstance.Oracle.Overview.read-replicas)

## 主要和次要版本升级
<a name="USER_UpgradeDBInstance.Oracle.Overview.versions"></a>

主要版本是 Oracle 数据库的主要版本，每 1-2 年发布一次。Oracle Database 19c 和 Oracle Database 21c 是主要版本。

每个季度，RDS for Oracle 都会为每个受支持的主要引擎发布新的次要引擎版本。版本更新（RU）引擎版本通过包含指定季度的 RU 补丁，纳入了 Oracle 提供的错误修复。例如，21.0.0.0.ru-2024-10.rur-2024-10.r1 是 Oracle Database 21c 的次要版本，其中包含 2024 年 10 月的 RU。

Spatial 补丁包（SPB）引擎版本包含 RU 补丁和特定于 Oracle Spatial 的补丁。例如，19.0.0.0.ru-2025-01.spb-1.r1 是一个次要引擎版本，其中包含引擎版本 19.0.0.0.ru-2025-01.rur-2025-01.r1 中的 RU 补丁以及 Spatial 补丁。通常，RDS for Oracle 会在相应 RU 发布后 2-3 周内发布 SPB。有关 RU 和 SPB 之间差异的解释，请参阅[版本更新（RU）和 Spatial 补丁包（SPB）](USER_UpgradeDBInstance.Oracle.Minor.md#RUs-and-SPBs)。有关支持的 RU 和 SPB 的信息，请参阅 [Release notes for Amazon Relational Database Service (Amazon RDS) for Oracle](https://docs.amazonaws.cn/AmazonRDS/latest/OracleReleaseNotes)。

RDS for Oracle 支持对数据库实例进行以下升级。


| 升级类型 | 应用程序兼容性 | 升级方法 | 示例升级途径 | 
| --- | --- | --- | --- | 
| 主要版本 | 主版本升级可能引入与现有应用程序不兼容的更改。 | 仅限手动 | 从 Oracle Database 19c 到 Oracle Database 21c | 
| 次要版本 | 次要版本升级仅包含与现有应用程序向后兼容的更改。 | 自动或手动 | 从 21.0.0.0.ru-2023-07.rur-2022-07.r1 到 21.0.0.0.ru-2023-10.rur-2022-10.r1 | 

**重要**  
当您更新数据库引擎时，发生中断。中断时长取决于引擎版本和数据库实例大小。  
在将升级应用到生产数据库之前，确保彻底地测试任何升级，验证您的应用程序是否正常工作。有关更多信息，请参阅 [测试 Oracle 数据库升级](USER_UpgradeDBInstance.Oracle.UpgradeTesting.md)。

## RDS for Oracle 的支持日期和强制升级
<a name="Aurora.VersionPolicy.MajorVersionLifetime"></a>

RDS for Oracle 的数据库版本具有预期的支持日期。当 RDS for Oracle 数据库引擎的主要或次要版本接近其支持终止日期时，RDS 将开始强制升级，也成为*被迫升级*。RDS 发布以下信息：
+ 建议您开始手动将已弃用版本上的实例升级到支持的版本
+ 一个日期，在此日期之后，您将无法再在不受支持的版本上创建实例
+ RDS 开始在维护时段内自动将您的实例升级到受支持版本的日期
+ RDS 开始在维护时段之外自动将您的实例升级到受支持版本的日期

**重要**  
强制升级可能会对 Amazon CloudFormation 堆栈产生意外的后果。如果您依靠 RDS 来自动升级数据库实例，则可能会遇到与 Amazon CloudFormation 有关的问题。

本节包含以下主题：

**Topics**
+ [

### RDS for Oracle 主要版本的支持日期
](#oracle-major-support-dates)
+ [

### RDS for Oracle 次要版本的支持日期
](#oracle-minor-support-dates)

### RDS for Oracle 主要版本的支持日期
<a name="oracle-major-support-dates"></a>

RDS for Oracle 主要版本至少会在相应的 Oracle Database 发行版的终止支持日期之前保持可用状态。您可以参照下列日期规划您的测试和升级周期。这些日期表示可能需要升级到较新版本的最早日期。如果 Amazon 对某个 RDS for Oracle 版本的支持时间比原定时间更长，我们会计划更新此表格以反映较晚的日期。

**注意**  
您还可以运行 [describe-db-major-engine-versions](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-db-major-engine-versions.html) Amazon CLI 命令或者使用 [DescribeDBMajorEngineVersions](https://docs.amazonaws.cn/AmazonRDS/latest/APIReference/API_DescribeDBMajorEngineVersions.html) RDS API 操作，来查看 Oracle 数据库的主要版本。


| Oracle Database 主要发行版  | 升级到较新版本的预计日期 | 
| --- | --- | 
|  Oracle Database 19c  |  2029 年 12 月 31 日，提供 BYOL 卓越支持（扩展支持免收费用） 2032 年 12 月 31 日，提供 BYOL 扩展支持（额外费用）或无限许可协议 2029 年 12 月 31 日，附带许可（LI）  | 
|  Oracle Database 21c  | 2027 年 7 月 31 日（不适用于扩展支持） | 

RDS 会在您需要升级到较新的主要版本前至少 12 个月通知您。通知介绍升级过程，包括重要里程碑的时间安排、对数据库实例的影响以及建议的操作。我们建议您在将数据库升级到主要版本之前，使用新的 RDS for Oracle 版本彻底测试您的应用程序。

在该预先通知期限过后，对后续主要版本的自动升级可能会应用于任何仍在运行较久版本的 RDS for Oracle 数据库实例。如果此类情况发生，自动升级将在设定的维护时段内启动。

有关更多信息，请参阅 My Oracle Support 中的 [Release Schedule of Current Database Releases](https://support.oracle.com/knowledge/Oracle%20Database%20Products/742060_1.html)。

### RDS for Oracle 次要版本的支持日期
<a name="oracle-minor-support-dates"></a>

在某些情况下，我们会终止对 RDS for Oracle 中主要发行版的次要版本的支持。RDS 会在您需要升级到较新的次要版本前至少 6 个月通知您。通知会介绍升级过程，包括重要里程碑的时间安排、对运行已弃用次要版本的数据库实例的影响以及建议的操作。建议您在将数据库升级到新的次要版本之前，使用新的 RDS for Oracle 版本全面测试您的应用程序。

有关已弃用和不支持的次要版本的更多信息，请参阅 [Amazon Relational Database Service（Amazon RDS）for Oracle 发布说明](https://docs.amazonaws.cn/AmazonRDS/latest/OracleReleaseNotes/Welcome.html)。

## Oracle 引擎版本管理
<a name="Oracle.Concepts.Patching"></a>

利用数据库引擎版本管理，您可以控制修补和升级数据库引擎的时间和方式。您可以灵活地保持与数据库引擎补丁版本的兼容性。您还可以测试 RDS for Oracle 的新补丁版本，以确保在将这些补丁部署到生产中之前，它们能够与您的应用程序配合工作。此外，您可以根据自己的条款和时间表升级版本。

**注意**  
Amazon RDS 使用 Amazon RDS 特定的数据库引擎版本定期汇总官方 Oracle 数据库补丁。要查看某个 Amazon RDS Oracle 特定引擎版本中包含的 Oracle 补丁的列表，请转到 [https://docs.amazonaws.cn/AmazonRDS/latest/OracleReleaseNotes/Welcome.html](https://docs.amazonaws.cn/AmazonRDS/latest/OracleReleaseNotes/Welcome.html)。

## 在引擎升级期间自动拍摄快照
<a name="USER_UpgradeDBInstance.Oracle.Overview.snapshots"></a>

升级 Oracle 数据库实例时，快照可防止出现升级问题。如果数据库实例的备份保留期大于 0，Amazon RDS 在升级过程中拍摄以下数据库快照：

1. 在进行任何升级更改之前数据库实例的快照。如果升级失败，您可以还原此快照，以创建运行旧版本的数据库实例。

1. 升级完成后的数据库实例快照。

**注意**  
要更改您的备份保留期，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

升级后，您无法恢复到以前的引擎版本。但是，您可以通过恢复升级前的快照来创建新的 Oracle 数据库实例。

## 多可用区部署中的 Oracle 升级
<a name="USER_UpgradeDBInstance.Oracle.Overview.multi-az"></a>

如果数据库实例在多可用区部署中，Amazon RDS 会同时升级主要副本和备用副本。如果不需要操作系统更新，则主升级和备用升级同时进行。在升级完成之前，这些实例不可用。

如果多可用区部署中需要操作系统更新，Amazon RDS 会在您请求数据库升级时应用更新。Amazon RDS 执行以下步骤：

1. 更新当前备用数据库实例上的操作系统。

1. 将主数据库实例失效转移到备用数据库实例。

1. 升级以前是备用实例的新主数据库实例上的数据库版本。主数据库在升级期间不可用。

1. 更新以前是主数据库实例的新备用数据库实例上的操作系统。

1. 升级新的备用数据库实例上的数据库版本。

1. 将新的主数据库实例失效转移回原始主数据库实例，并且将新的备用数据库实例失效转移回原始备用数据库实例。因此，Amazon RDS 会将复制配置返回到其原始状态。

## 只读副本的 Oracle 升级
<a name="USER_UpgradeDBInstance.Oracle.Overview.read-replicas"></a>

源数据库实例及其所有只读副本的 Oracle 数据库引擎版本必须相同。Amazon RDS 在以下阶段执行升级：

1. 升级源数据库实例。只读副本在此阶段可用。

1. 并行升级只读副本，而不考虑副本维护时段。源数据库在此阶段可用。

对于跨区域只读副本的主要版本升级，Amazon RDS 执行其他操作：
+ 自动为目标版本生成选项组
+ 将所有选项和选项设置从原始选项组复制到新选项组
+ 将升级的跨区域只读副本与新选项组关联