为 Amazon RDS Custom for Oracle 升级数据库实例
您可以通过修改 Amazon RDS Custom 数据库实例以使用新的自定义引擎版本 (CEV) 来升级该实例。有关升级的一般信息,请参阅升级数据库实例引擎版本。
主题
RDS Custom for Oracle 升级概述
使用 RDS Custom for Oracle,您可以创建新的 CEV,然后将您的实例修改为使用新的 CEV,以此修补您的 Oracle 数据库或数据库实例操作系统(OS)。
CEV 升级选项
当您创建 CEV 以进行升级时,可以选择以下互斥的选项:
- 仅限数据库
-
重复使用数据库实例当前所使用的亚马逊机器映像(AMI),但要指定不同的数据库二进制文件。RDS Custom 会分配一个新的二进制卷,然后将其附加到现有的 Amazon EC2 实例。RDS Custom 用使用目标数据库版本的新卷替换整个数据库卷。
- 仅限操作系统
-
重复使用数据库实例当前所使用的数据库二进制文件,但要指定不同的 AMI。RDS Custom 会分配一个新的 Amazon EC2 实例,然后将现有二进制卷附加到新实例。保留现有的数据库卷。
如果要同时升级操作系统和数据库,则必须升级 CEV 两次。您可以先升级操作系统后再升级数据库,也可以先升级数据库后再升级操作系统。
警告
修补操作系统时,会丢失根卷数据和任何现有的操作系统自定义项。因此,我们强烈建议您不要使用根卷来进行安装或存储永久数据或文件。我们还建议您在升级之前先备份数据。
在没有 CEV 的情况下进行修补
我们强烈建议您使用 CEV 升级 RDS Custom for Oracle 数据库实例。RDS Custom for Oracle 自动化可将补丁元数据与数据库实例上的数据库二进制文件同步。
在特殊情况下,RDS Custom 支持使用 OPatch 实用工具将“一次性”数据库补丁直接应用于底层 Amazon EC2 实例。有效的使用案例可能是您想要立即应用的数据库补丁,但 RDS Custom 团队正在升级 CEV 功能,这会导致延迟。要手动应用数据库补丁,请执行以下步骤:
-
暂停 RDS Custom 自动化。
-
将您的补丁应用于 Amazon EC2 实例上的数据库二进制文件。
-
恢复 RDS Custom 自动化。
上述技术的缺点是必须手动将数据库补丁应用到要升级的每个实例。相比之下,当您创建新的 CEV 时,您可以使用相同的 CEV 创建或升级多个数据库实例。
使用 CEV 修补数据库实例的一般步骤
无论您修补操作系统还是数据库,请执行以下基本步骤:
-
创建包含以下任一内容的 CEV,具体取决于您要修补数据库还是操作系统:
-
要应用于数据库实例的 Oracle 数据库 RU
-
不同的 AMI(最新的 AMI,或是您指定的 AMI),以及一个用作源的现有 CEV
按照 创建 CEV 中的步骤操作。
-
-
(对于数据库修补为可选)通过运行
describe-db-engine-versions
来检查可用的引擎版本升级。 -
通过运行
modify-db-instance
启动修补过程。正在修补的实例的状态不同,如下所示:
-
当 RDS 修补数据库时,数据库实例的状态将更改为正在升级。
-
当 RDS 修补操作系统时,数据库实例的状态将更改为正在修改。
当数据库实例的状态为可用时,修补已完成。
-
-
通过运行
describe-db-instances
来确认您的数据库实例使用的是新 CEV。
RDS Custom for Oracle 升级的要求
在将您的 RDS Custom for Oracle 数据库实例升级到目标 CEV 时,请确保满足以下要求:
-
要升级到的目标 CEV 必须存在。
-
您必须以单个操作升级操作系统或数据库。不支持在单个 API 调用中同时升级操作系统和数据库。
-
目标 CEV 必须使用当前 CEV 清单中的安装参数设置。例如,您无法将使用默认 Oracle 主目录的数据库升级到使用非默认 Oracle 主目录的 CEV。
-
对于数据库升级,目标 CEV 必须使用新的次要数据库版本,而不是新的主要版本。例如,您无法从 Oracle Database 12c CEV 升级到 Oracle Database 19c CEV。但是,您可以从版本 21.0.0.0.ru-2023-04.rur-2023-04.r1 版本升级到版本 21.0.0.0.ru-2023-07.rur-2023-07.r1。
-
对于操作系统升级,目标 CEV 必须使用不同的 AMI,但具有相同的主要版本。