为 Amazon RDS Custom for Oracle 升级数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

为 Amazon RDS Custom for Oracle 升级数据库实例

您可以通过修改 Amazon RDS Custom 数据库实例以使用新的自定义引擎版本 (CEV) 来升级该实例。要执行此操作,请确保新的 CEV 已存在。

仅支持次要版本升级。例如,您无法从版本 12.1 CEV 升级到版本 19c CEV。

升级主数据库实例后将升级只读副本。您无需手动升级只读副本。

升级 CEV 时,数据库实例的 bin 卷中的数据已删除。

有关升级数据库实例的一般信息,请参阅 升级数据库实例引擎版本

查看 RDS Custom for Oracle 数据库实例的有效升级目标

您可以在 Amazon Web Services Management Console 中的 Custom engine version(自定义引擎版本)页面中查看现有的 CEV。

您也可以使用 describe-db-engine-versions Amazon CLI 命令查找适用于数据库实例的有效升级,如以下示例所示。此示例假设数据库实例是使用版本 19.my_cev1 创建的,而且升级版本 19.my_cev2 和 19.my_cev 存在。

aws rds describe-db-engine-versions --engine custom-oracle-ee --engine-version 19.my_cev1

输出与以下内容类似。

{ "DBEngineVersions": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev1", ... "ValidUpgradeTarget": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev2", "Description": "19.my_cev2 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false }, { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev3", "Description": "19.my_cev3 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false } ] ...

升级 RDS Custom 数据库实例

要升级您的 RDS Custom 数据库实例,请将其修改为使用新的 CEV。

升级主数据库实例后,RDS Custom 管理的只读副本将自动升级。

要升级 RDS Custom 数据库实例

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,请选择 Databases(数据库),然后选择要修改的 RDS Custom 数据库实例。

  3. 选择修改。将显示修改数据库实例页面。

  4. 对于 DB engine version(数据库引擎版本),请选择要升级到的 CEV,例如 19.my_cev3

  5. 请选择 Continue(继续),以查看修改摘要。

    请选择 Apply immediately(立即应用)以立即应用更改。

  6. 如果更改正确无误,请选择 Modify DB Instance(修改数据库实例)。也可以选择 Back (返回) 编辑您的更改,或选择 Cancel (取消) 取消更改。

要升级 RDS Custom 数据库实例,请使用带有下列参数的 modify-db-instance Amazon CLI 命令:

  • --db-instance-identifier – 要升级的数据库实例

  • --engine-version – 新的 CEV

  • --no-apply-immediately | --apply-immediately – 是立即执行升级还是等到计划的维护时段

以下示例将 my-custom-instance 升级到版本 19.my_cev3

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev3 \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev3 ^ --apply-immediately

查看 RDS Custom 数据库实例的待定升级

您可以使用 describe-db-instancesdescribe-pending-maintenance-actions Amazon CLI 命令查看 Amazon RDS Custom 数据库实例的待定升级。

但是,如果您使用 --apply-immediately 选项或升级正在进行中,则此方法将不起作用。

以下 describe-db-instances 命令会显示 my-custom-instance 的待定升级。

aws rds describe-db-instances --db-instance-identifier my-custom-instance

输出与以下内容类似。

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } } ] }

下方显示了 describe-pending-maintenance-actions 命令的使用情况。

aws rds describe-pending-maintenance-actions

输出与以下内容类似。

{ "PendingMaintenanceActions": [ { "ResourceIdentifier": "arn:aws:rds:us-west-2:123456789012:instance:my-custom-instance", "PendingMaintenanceActionDetails": [ { "Action": "db-upgrade", "Description": "Upgrade to 19.my_cev3" } ] } ] }

RDS Custom 数据库实例升级失败

如果 RDS Custom 数据库实例升级失败,将生成 RDS 事件并且数据库实例状态变为 upgrade-failed

您可以使用 describe-db-instances Amazon CLI 命令查看此状态,如以下示例所示。

aws rds describe-db-instances --db-instance-identifier my-custom-instance

输出与以下内容类似。

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } "DBInstanceStatus": "upgrade-failed" } ] }

升级失败后,所有数据库操作都将被阻止,修改数据库实例以执行以下任务除外:

  • 重试相同的升级

  • 暂停和恢复 RDS Custom 自动化

  • 时间点恢复 (PITR)

  • 删除数据库实例

注意

如果已为 RDS Custom 数据库实例暂停自动化操作,则在恢复自动化之前,您将无法重试升级。

RDS 管理的只读副本的升级失败与主副本的升级失败情况适用相同的操作。

有关更多信息,请参阅 解决 RDS Custom for Oracle 数据库实例的 升级问题