Oracle 次要版本升级
在 RDS for Oracle 中,次要版本升级是对主要数据库引擎版本的更新。在 RDS 中,次要引擎版本可以是版本更新(RU)或 Spatial 补丁包(SPB)。例如,如果数据库实例运行的是主要版本 Oracle Database 19c 和次要版本 19.0.0.0.ru-2025-10.rur-2025-10.r1,则可以将数据库引擎升级到次要版本 19.0.0.0.ru-2026-01.rur-2026-01.r1。RDS for Oracle 不支持次要版本降级。
您可以手动或自动将数据库引擎升级到次要版本。要了解如何手动升级,请参阅手动升级引擎版本。要了解如何配置自动升级,请参阅自动升级次要引擎版本。无论是手动升级还是自动升级,次要版本升级都需要停机。在计划升级时,请考虑此停机。
Amazon RDS 还支持升级推出策略,以管理跨多个数据库资源和 Amazon Web Services 账户的自动次要版本升级。有关更多信息,请参阅 使用 Amazon Organizations 升级推出策略自动升级次要版本。
重要
在将升级应用到生产数据库之前,确保彻底地测试任何升级,验证您的应用程序是否正常工作。有关更多信息,请参阅 测试 Oracle 数据库升级。
主题
版本更新(RU)和 Spatial 补丁包(SPB)
在 RDS 中,版本更新(RU)是每季度发布的次要引擎版本,其中包括 Oracle Database 的安全修复、错误修复和新功能。Spatial 补丁包(SPB)是 RU 引擎版本,其中包含专为 Oracle Spatial 选项设计的补丁。例如,名为 19.0.0.0.ru-2025-01.spb-1.r1 的 SPB 包括相应 RU 19.0.0.0.ru-2025-01.rur-2025-01.r1 中的所有补丁,以及特定于 Spatial 的补丁。只有 Oracle Database 19c 才支持 SPB。
当实例配置为自动升级次要版本时,RU 和 SPB 位于单独的升级途径上。通常,SPB 在其相应的 RU 发布后的 2-3 周内发布。下表显示 Oracle Database 19c 的示例次要版本。
| 标准 RU 升级途径 | SPB 升级途径 |
|---|---|
| 19.0.0.0.ru-2025-01.rur-2025-01.r1 | 19.0.0.0.ru-2025-01.spb-1.r1 |
| 19.0.0.0.ru-2025-04.rur-2025-04.r1 | 19.0.0.0.ru-2025-04.spb-1.r1 |
| 19.0.0.0.ru-2025-07.rur-2025-07.r1 | 19.0.0.0.ru-2025-07.spb-1.r1 |
| 19.0.0.0.ru-2025-10.rur-2025-10.r1 | 19.0.0.0.ru-2025-10.spb-1.r1 |
如果数据库实例配置为自动升级,则实例处于与当前版本对应的升级途径上。例如,如果数据库实例运行版本 19.0.0.0.ru-2025-01.rur-2025-01.r1,则当发布 19.0.0.0.ru-2025-04.rur-2025-04.r1 时,实例会自动升级到此 RU。同样,如果数据库实例运行 19.0.0.0.ru-2025-01.spb-1.r1,那么当发布 19.0.0.0.ru-2025-04.spb-1.r1 时,实例会自动升级到此 SPB。运行 19.0.0.0.ru-2025-01.rur-2025-01.r1(为 RU)的实例不会自动升级到 19.0.0.0.ru-2025-04.spb-1.r1(这是位于单独升级途径上的 SPB)。
即使实例不使用 Spatial,也可以将数据库实例升级到 SPB,但是 Spatial 补丁仅适用于 Oracle Spatial。可以手动从 RU 升级到相同或更高引擎版本的 SPB。例如,可以将实例从 19.0.0.0.ru-2025-01.rur-2025-01.r1 升级到以下任一引擎版本:
-
19.0.0.0.ru-2025-01.spb-1.r1
-
19.0.0.0.ru-2025-04.spb-1.r1
只有当 RU 是更高的引擎版本时,您才能将实例从 SPB 升级到 RU。例如,可以从 SPB 版本 19.0.0.0.ru-2025-04.spb-1.r1 升级到更高的 RU 版本 19.0.0.0.ru-2025-07.rur-2025-07.r1,但不能升级到相同的 RU 版本 19.0.0.0.ru-2025-04.rur-2025-04.r1。
如果数据库实例配置为自动次要版本升级,并且您手动从 RU 升级到 SPB 或从 SPB 升级到 RU,则自动升级途径会发生变化。假设您手动从 RU 版本 19.0.0.0.ru-2025-01.rur-2025-01.r1 版本升级到 SPB 版本 19.0.0.0.ru-2025-01.spb-1.r1。您的下一个自动次要版本升级将是升级到 SPB 版本 19.0.0.0.ru-2025-04.spb-1.r1。
由于 SPB 和 RU 功能相同,因此,用于将实例升级到 RU 和 SPB 的 RDS API 是相同的。以下命令演示如何升级到 RU 和 SPB。
aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --engine-version 19.0.0.0.ru-2025-01.rur-2025-01.r1 aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --engine-version 19.0.0.0.ru-2025-01.spb-1.r1
有关 Oracle Spatial 选项的更多信息,请参阅 Spatial 补丁包(SPB)的工作原理。有关 Oracle Database 19c 支持的 RU 和 SPB,请参阅 Amazon RDS for Oracle Database 19c (19.0.0.0)。
开启 Oracle 的自动次要版本升级
在自动次要版本升级过程中,RDS 无需手动干预,即可将最新的可用次要版本应用到您的 Oracle 数据库。在以下情况下,Amazon RDS for Oracle 数据库实例会计划在下一个维护时段期间升级:
-
您的数据库实例开启了自动次要版本升级选项。
-
您的数据库实例尚未运行最新的次要数据库引擎版本。
要了解如何开启自动升级,请参阅自动升级次要引擎版本。
使用 Amazon Organizations 升级推出策略自动升级次要版本
Amazon RDS for Oracle 支持 Amazon Organizations 升级推出策略,以管理跨多个数据库资源和 Amazon Web Services 账户的自动次要版本升级。此策略消除了手动或通过自定义工具协调自动次要版本升级的操作开销,同时确保升级首先应用于非生产环境,然后再推出到生产环境。在有新的次要引擎版本可用时,Amazon RDS 会根据配置的升级推出顺序升级您的数据库实例:
| 升级推出顺序 | 典型使用案例 | 升级何时开始 |
|---|---|---|
| 第一个 | 开发和测试环境 | 最早:非常适合验证新版本 |
| 秒 | 暂存和非关键生产环境 | “第一个”阶段完成后 |
| 最后一个 | 关键生产环境 | “第二个”阶段完成后 |
重要
如果您没有为数据库实例配置升级推出顺序,则默认为第二个。
有关阶段时机和持续时间的详细信息,请参阅 Amazon RDS 如何计划自动次要版本升级。有关在 Amazon Organizations 中配置升级推出策略的信息,请参阅使用 Amazon Organizations 升级推出策略自动升级次要版本。
RDS for Oracle 中的自动次要版本升级通知
如果您的数据库实例启用了自动次要版本升级,则 RDS for Oracle 会创建待处理的维护操作,以便在应用升级之前通知您。您可以在 Amazon RDS 控制台中数据库详细信息页面的维护和备份选项卡上,查看这些待处理的维护操作。
如果有新的次要版本推出,RDS for Oracle 会提前发布通知(待处理的维护操作)。提前通知的格式如下:
An automatic minor version upgrade toengine-versionwill be applied during your maintenance window onapply-datebased on the upgrade rollout orderrollout-order. You can change the upgrade rollout order or apply this upgrade manually at any time before the scheduled date through the Amazon console or Amazon CLI.
提前通知中的 apply-date 表示 Amazon RDS 将升级您的数据库实例的日期。rollout-order 表示您的升级推出顺序(第一个、第二个或最后一个)。如果您尚未配置升级推出策略,则默认情况下,此值为第二个。有关更多信息,请参阅 使用 Amazon Organizations 升级推出策略自动升级次要版本。
升级推出阶段开始时,待处理的维护操作消息将更改为以下格式:
Automatic minor version upgrade toengine-version
此消息表示已安排升级,将在预定应用日期的维护时段内应用升级。您可以在 Amazon RDS 控制台中数据库详细信息页面的维护和备份选项卡中,或者在 describe-pending-maintenance-actions API 响应的 CurrentApplyDate 字段中,查看预定的应用日期。
以下示例显示您可以使用 Amazon CLI 中的 describe-pending-maintenance-actions 命令获取有关待处理维护操作的详细信息:
aws rds describe-pending-maintenance-actions "PendingMaintenanceActions": [ { "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:orclinst1", "PendingMaintenanceActionDetails": [ { "Action": "db-upgrade", "Description": "Automatic minor version upgrade to 21.0.0.0.ru-2024-07.rur-2024-07.r1", "CurrentApplyDate": "2024-12-02T08:10:00Z" } ] }, ...
有关 describe-pending-maintenance-actions 的更多信息,请参阅《Amazon CLI 命令参考》。
Amazon RDS 如何计划自动次要版本升级
当您使用 Amazon Organizations 升级推出策略时,Amazon RDS 会根据数据库实例配置的推出顺序,分阶段升级实例。本节介绍每个阶段的时机和持续时间。
第 0 阶段:提前通知
当 RDS for Oracle 发布新的次要版本时(通常在 Oracle 每季度 RU 发布后 3 到 4 周),所有启用了自动次要版本升级的数据库实例都会提前收到通知。此通知显示在 Amazon RDS 控制台的数据库详细信息页面的维护和备份选项卡中,以及 describe-pending-maintenance-actions API 响应中。提前通知阶段持续 2 周。在此阶段,不会进行自动升级。
第 1 阶段:升级推出顺序的第一个
在提前通知阶段结束时,RDS for Oracle 按照“升级推出顺序的第一个”顺序开始升级数据库实例。对于 1 月、4 月和 7 月的季度次要版本,此阶段持续 2 到 3 周;对于 10 月的季度次要版本,此阶段持续 7 到 8 周。10 月次要版本的延长时间段为在年终假日季期间测试新的次要版本提供了充足的时间。在此阶段按照“升级推出顺序的第一个”顺序创建的新数据库实例将自动升级。
第 2 阶段:升级推出顺序的第二个
在第 1 阶段结束时,RDS for Oracle 按照“升级推出顺序的第二个”顺序开始升级数据库实例。对于所有季度次要版本,此阶段持续 2 周。在此阶段使用“升级推出顺序的第一个”或“升级推出顺序的第二个”顺序创建的新数据库实例将自动升级。
第 3 阶段:升级推出顺序的最后一个
在第 2 阶段结束时,RDS for Oracle 按照“升级推出顺序的最后一个”顺序开始升级数据库实例。此阶段将持续到下一次季度次要版本发布。在此阶段使用“升级推出顺序的第一个”、“升级推出顺序的第二个”或“升级推出顺序的最后一个”顺序创建的新数据库实例将自动升级。
| 阶段 | 什么时候开始 | Duration | 待处理维护操作消息 |
|---|---|---|---|
| 第 0 阶段:提前通知 | 当 RDS for Oracle 发布新的次要版本时 | 2 周 | 根据升级推出顺序 rollout-order,将在 apply-date 的维护时段内,对 engine-version 应用自动次要版本升级。在预定日期之前,您可以随时通过 Amazon 控制台或 Amazon CLI 更改升级推出顺序或者手动应用此升级。 |
| 第 1 阶段:升级推出顺序的第一个 | 提前通知阶段结束 | 对于 1 月/4 月/7 月次要版本,为 2 到 4 周;对于 10 月次要版本,为 7 到 9 周 | 自动次要版本升级到 engine-version |
| 第 2 阶段:升级推出顺序的第二个 | 阶段 1 结束 | 2 周 | 自动次要版本升级到 engine-version |
| 第 3 阶段:升级推出顺序的最后一个 | 阶段 2 结束 | 直到下一次季度次要版本发布 | 自动次要版本升级到 engine-version |
管理 RDS for Oracle 中的自动次要版本升级
如果数据库实例启用自动次要版本升级,Amazon RDS 会在维护时段,自动将您的数据库实例升级到最新的次要版本。但是,您可以选择在预定日期之前,使用 Amazon CLI 或者在数据库详细信息页面的维护和备份选项卡上手动应用升级。
要立即升级数据库实例而不是等待在计划的维护时段升级,请执行以下操作:
aws rds apply-pending-maintenance-action \ --resource-identifier arn:aws:rds:us-east-1:123456789012:db:orclinst1 \ --apply-action db-upgrade \ --opt-in-type immediate
要在下一个维护时段而不是计划的应用日期应用升级,请执行以下操作:
aws rds apply-pending-maintenance-action \ --resource-identifier arn:aws:rds:us-east-1:123456789012:db:orclinst1 \ --apply-action db-upgrade \ --opt-in-type next-maintenance
要选择退出自动次要版本升级,请修改数据库实例并关闭自动次要版本升级选项。这会取消安排任何待处理的自动升级。
要了解如何关闭自动次要版本升级,请参阅自动升级次要引擎版本。如需关于关闭自动次要版本升级的帮助,请联系 Amazon Support。
有时,在 RDS 应用先前的次要版本之前,就会有新的次要版本可用。例如,您运行的实例版本为 21.0.0.0.ru-2025-07.rur-2025-07.r1,而 both 21.0.0.0.ru-2025-10.rur-2025-10.r1 和 21.0.0.0.ru-2026-01.rur-2026-01.r1 同时可作为升级目标。在这种情况下,为了避免数据库实例出现不必要的停机时间,RDS 会计划自动将次要版本升级到最新版本,跳过对先前版本的升级。在此示例中,RDS 将您的实例从 21.0.0.0.ru-2025-07.rur-2025-07.r1 直接升级到 21.0.0.0.ru-2026-01.rur-2026-01.r1。