如何修复卡在不兼容参数状态的 Amazon RDS 数据库实例?

上次更新时间:2020 年 8 月 28 日

我的 Amazon Relational Database Service (Amazon RDS) 实例卡在不兼容参数状态。我无法连接到实例或修改实例。我只能删除实例或重启。如何修复此问题?

简短描述

当 RDS 数据库实例处于 incompatible-parameters(不兼容参数)状态时,关联参数组中至少有一个参数设置为与当前引擎版本或数据库实例类不兼容的值。

这可能是由以下原因导致:

  • 数据库实例被扩展为使用可用内存少于之前实例类型的实例类型。关联的参数组中至少有一个内存设置超出了当前数据库实例的可用内存大小。
  • 数据库引擎被升级到其他版本。数据库引擎不再与当前自定义参数组的一个或多个参数设置兼容。

如果您尝试关联不同的参数组、扩展数据库实例类型、更改引擎版本或修改数据库实例配置,则配置可能会失败。数据库实例必须处于 available(可用)状态才能接受新配置。如果数据库实例处于不兼容参数状态,则您只能重启或删除它。

有关如何确定哪些值不兼容的信息,请参阅如何确定哪些 Amazon RDS 数据库参数位于自定义参数组中以及哪些参数位于默认参数组中?

解决方法

要解决此问题,请使用以下选项之一将每个不兼容参数的值更改为兼容值:

  • 将参数组中的所有参数重置为默认值。
  • 重置不兼容的参数值。

注意:与不兼容参数组关联的所有数据库实例都会受这些值更改的影响。若要备份当前参数组设置,请在重置参数之前复制参数组。

要确定问题的根本原因,您可以复制不兼容参数组,然后比较自定义参数值和默认值之间的差异。

您可以使用 AWS CloudTrail 来检查自定义参数组发生的更改。筛选最近 90 天内 Event name(事件名称)为 ModifyDBParameterGroupModifyDBClusterParameterGroup 的事件。

要使用 Amazon RDS 控制台创建参数组的副本

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择 Parameter groups(参数组)。
  2. 选择不兼容的参数组,然后选择 Parameter group actions(参数组操作)。
  3. 选择复制

要使用 Amazon RDS 控制台将参数组中的所有参数重置为默认值

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择 Parameter groups(参数组)。
  2. 选择要重置的参数组。
  3. 选择参数组操作,然后选择重置
  4. 选择重置

要使用 Amazon RDS 控制台重置参数值

要避免重置不兼容参数组的所有参数值,您可以选择要更改哪些参数。您可以通过从 Amazon RDS 控制台编辑不兼容参数组来实现此目的。

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择 Parameter groups(参数组)。
  2. 选择不兼容的参数组(或者若要重置所有参数,请选择所有参数)。
  3. 选择 Parameter group actions(参数组操作),然后选择 Edit(编辑)。
  4. 输入有效的参数值,然后选择 Save Changes(保存更改)。
  5. 重启数据库实例而不进行故障转移以应用新设置。
    注意:Amazon RDS 控制台允许您将参数更改为任何相关的允许值。AWS 命令行界面 (AWS CLI) 允许您将目标参数重置为其默认值。使用 AWS CLI 将参数值更改为默认参数值以外的值不起作用。

有关不与 Amazon RDS 兼容的 Oracle 参数的更多信息,请参阅 Oracle 12c 与 Amazon RDS将巨页用于 Oracle 数据库实例


这篇文章对您有帮助吗?


您是否需要账单或技术支持?