Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用选项组

一些数据库引擎提供的更多功能可让您更轻松地管理数据和数据库,并为数据库提供更高安全性。Amazon RDS 利用选项组启用和配置这些功能。通过选项组,可以指定各种名为选项的功能,它们是专为特定的 Amazon RDS 数据库实例提供的。选项可能具有指定该选项工作方式的设置。当您将数据库实例与选项组相关联时,就会在数据库实例上启用指定的选项和选项设置。

Amazon RDS 支持以下数据库引擎选项:

选项组概述

Amazon RDS 为每个新数据库实例提供空的默认选项组。您无法修改此默认选项组,但可以修改您创建的通过默认选项组派生其设置的任何新选项组。要将选项应用于数据库实例,您必须执行以下操作:

  1. 创建新的选项组,或者复制或修改现有选项组。

  2. 向选项组中添加一个或多个选项。

  3. 将选项组与数据库实例相关联。

数据库实例和数据库快照可与选项组相关联。当从数据库快照还原或者对数据库实例执行时间点恢复时,与数据库快照或数据库实例项关联的选项组在默认情况下将与还原的数据库实例相关联。您可以将不同的选项组与还原的数据库实例相关联。但是,新选项组必须包含原始选项组中包含的所有持久性或永久性选项。持久性和永久性选项的说明如下。

在数据库实例上运行这些选项需要更多内存,因此,您可能需要根据数据库实例当前的使用情况启动更大的实例来使用这些选项。例如,Oracle Enterprise Manager Database Control 会使用约 300 MB 的 RAM;如果您为小数据库实例启用此选项,可能会遇到性能问题或内存不足错误。

持久性和永久性选项

将两种选项 (持久性和永久性) 添加到选项组时,这两种选项需要考虑一些特殊的注意事项。

当数据库实例与选项组关联时,无法从该选项组删除持久性选项,如适用于 Microsoft SQL Server 透明数据加密 (TDE) 的 TDE 选项。您必须先将所有数据库实例与该选项组取消关联,然后才能从选项组删除持久性选项。从数据库快照还原或执行时间点还原时,如果与该数据库快照关联的选项组包含持久性选项,那么您只能将还原的数据库实例与该选项组相关联。

永久性选项 (如适用于 Oracle 高级安全 TDE 的 TDE 选项) 绝不能从选项组中删除,并且不能取消该选项组与该数据库实例的关联。从数据库快照还原或执行时间点还原时,如果与该数据库快照关联的选项组包含永久性选项,那么您只能将还原的数据库实例与具有该永久性选项的选项组相关联。

VPC 和平台注意事项

将选项组分配给数据库实例时,它会链接到该数据库实例所在的平台。该平台可以是受 Amazon Virtual Private Cloud (Amazon VPC) 服务支持的 VPC,也可以是受 Amazon Elastic Compute Cloud (Amazon EC2) 支持的 EC2-Classic (非 VPC)。有关这两个平台的详细信息,请参阅 Amazon EC2 和 Amazon Virtual Private Cloud

如果数据库实例在某个 VPC 中,则与该实例关联的选项组会链接到该 VPC。这意味着,如果您尝试将数据库实例还原到不同的 VPC 中或不同的平台上,则无法使用分配给该实例的选项组。如果您将数据库实例还原到不同的 VPC 中或不同的平台上,则必须向该数据库实例分配默认选项组、分配链接到该 VPC 或平台的选项组,或是创建新选项组并将其分配给数据库实例。请注意,对于持久或永久选项 (如 Oracle TDE),在将数据库实例还原到不同的 VPC 中时,您必须创建包含该持久或永久选项的新选项组。

选项设置可控制选项的行为。例如,Oracle 高级安全选项 NATIVE_NETWORK_ENCRYPTION 包含可用于为数据库实例的传入和传出网络流量指定加密算法的设置。部分选项设置已针对与 Amazon RDS 配合使用而优化,并且不能更改。

互斥选项

一些选项是互斥的。您可使用其中一个选项,而不能同时使用两个选项。以下选项是互斥的:

创建选项组

您可创建从默认选项组派生其设置的新选项组,然后向新选项组添加一个或多个选项。或者,如果您已经有一个现有选项组,则可复制带有您已添加到新选项组的所有选项的选项组。有关更多信息,请参阅 为选项组创建副本

创建新选项组后,新选项组中没有选项。要了解如何将选项添加到选项组,请参阅 将选项添加到选项组。添加了您所需的选项后,即可将选项组与数据库实例相关联,以便在数据库实例上使用其中的选项。有关将选项组与数据库实例相关联的信息,请参阅 使用选项组 中列出的适用于特定引擎的文档。

AWS 管理控制台

一种创建选项组的方法是使用 AWS 管理控制台。

通过使用控制台创建新选项组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择选项组

  3. 选择 Create group

  4. 创建选项组窗口中,执行以下操作:

    1. 对于 Name,输入选项组的名称,在 AWS 账户内该名称需具有唯一性。此名称只能包含字母、数字和连字符。

    2. 对于 Description,输入选项组的简要说明。此说明用于显示说明。

    3. 对于 Engine,选择需要的数据库引擎。

    4. 对于主引擎版本,请选择所需的数据库引擎主版本。

  5. 要继续,请选择创建。要取消操作,请选择 Cancel

CLI

要创建选项组,请使用带下列必需参数的 AWS CLI create-option-group 命令。

  • --option-group-name

  • --engine-name

  • --major-engine-version

  • --option-group-description

下例创建了名为 testoptiongroup 的选项组,它是与 Oracle 企业版数据库引擎相关联的选项组。引号中的内容是描述。

针对 Linux、OS X 或 Unix:

aws rds create-option-group \ --option-group-name testoptiongroup \ --engine-name oracle-ee \ --major-engine-version 12.1 \ --option-group-description "Test option group"

对于 Windows:

aws rds create-option-group ^ --option-group-name testoptiongroup ^ --engine-name oracle-ee ^ --major-engine-version 12.1 ^ --option-group-description "Test option group"

API

要创建选项组,请调用 Amazon RDS API CreateOptionGroup 操作。包括以下参数:

  • OptionGroupName

  • EngineName

  • MajorEngineVersion

  • OptionGroupDescription

为选项组创建副本

您可以使用 AWS CLI 或 Amazon RDS API 为选项组创建副本。当您已创建一个选项组并且想在新的选项组中包含该组中的大部分自定义参数和值时,复制选项组是一个方便的解决方案。您还可以为用于生产的选项组创建副本,然后修改此副本以测试其他选项设置。

CLI

要复制选项组,请使用 AWS CLI copy-option-group 命令。包括以下必需参数:

  • --source-option-group-identifier

  • --target-option-group-identifier

  • --target-option-group-description

以下示例创建一个名为 new-local-option-group 的选项组,它是选项组 my-remote-option-group 的本地副本。

针对 Linux、OS X 或 Unix:

aws rds copy-option-group \ --source-option-group-identifier arn:aws-cn:rds:us-west-2:123456789012:og:my-remote-option-group \ --target-option-group-identifier new-local-option-group \ --target-option-group-description "Option group 2"

对于 Windows:

aws rds copy-option-group ^ --source-option-group-identifier arn:aws-cn:rds:us-west-2:123456789012:og:my-remote-option-group ^ --target-option-group-identifier new-local-option-group ^ --target-option-group-description "Option group 2"

API

要复制选项组,请调用 Amazon RDS API CopyOptionGroup 操作。包括以下必需参数。

  • SourceOptionGroupIdentifier

  • TargetOptionGroupIdentifier

  • TargetOptionGroupDescription

将选项添加到选项组

您可将选项添加到现有选项组。添加了您所需的选项后,即可将选项组与数据库实例相关联,以便在数据库实例上使用其中的选项。有关将选项组与数据库实例相关联的信息,请参阅 使用选项组 中列出的适用于特定数据库引擎的文档。

在以下两种情况下,必须立即应用选项组更改:

  • 当您添加用于添加或更新端口值的选项时,如 OEM 选项。

  • 当您添加或删除某个具有含端口值选项的选项组时。

在这些情况下,您必须在控制台中选择 立即应用 选项,或者在使用 AWS CLI 时加入 Apply-Immediately 选项或在使用 Amazon RDS API 时将 Apply-Immediately 参数设置为 true。可立即应用不包括端口值的选项,也可在数据库实例的下一维护时段内应用此类选项。

AWS 管理控制台

您可以使用 AWS 管理控制台将选项添加到选项组。

通过使用控制台将选项添加到选项组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择选项组

  3. 选择要修改的选项组,然后选择添加选项

     控制台选项组
  4. 添加选项窗口中,执行以下操作:

    1. 选择要添加的选项。您可能需要根据您选择的选项提供其他值。例如,当您选择 OEM 选项时,必须同时输入端口值,并指定数据库安全组。

    2. 要在添加选项后在所有关联数据库实例上启用该选项,对于 立即应用,请选择 Yes。如果选择 No (默认),则会在下一个维护时段为每个关联数据库实例启用此选项。

     控制台选项组
  5. 根据需要设置完毕后,选择 Add Option

CLI

要将选项添加到选项组,请带所需选项运行 AWS CLI add-option-to-option-group 命令。要立即在所有关联数据库实例上启用新选项,请加入 --apply-immediately 参数。默认情况下,会在每个关联数据库实例的下一维护时段启用此选项。包括以下必需参数:

  • --option-group-name

下例会立即将 Oracle Enterprise Manager Database Control (OEM) 选项添加到名为 testoptiongroup 的选项组,并立即启用它。请注意,即使您使用默认的安全组,也必须指定该安全组。

针对 Linux、OS X 或 Unix:

aws rds add-option-to-option-group \ --option-group-name testoptiongroup \ --options OptionName=OEM,Port=5500,DBSecurityGroupMemberships=default \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name testoptiongroup ^ --options OptionName=OEM,Port=5500,DBSecurityGroupMemberships=default ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP False oracle-ee 12.1 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup Test Option Group testoptiongroup default OPTIONS Oracle 12c EM Express OEM False False 5500 DBSECURITYGROUPMEMBERSHIPS default authorized

下例将 Oracle OEM 选项添加到选项组,指定自定义端口,然后指定一对 Amazon EC2 VPC 安全组用于该端口。

针对 Linux、OS X 或 Unix:

aws rds add-option-to-option-group \ --option-group-name testoptiongroup \ --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name testoptiongroup ^ --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP False oracle-ee 12.1 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup Test Option Group testoptiongroup vpc-test OPTIONS Oracle 12c EM Express OEM False False 5500 VPCSECURITYGROUPMEMBERSHIPS active sg-test1 VPCSECURITYGROUPMEMBERSHIPS active sg-test2

下例将 Oracle 选项 NATIVE_NETWORK_ENCRYPTION 添加到选项组,然后指定该选项的设置。如果未指定选项设置,则使用默认值。

针对 Linux、OS X 或 Unix:

aws rds add-option-to-option-group \ --option-group-name testoptiongroup \ --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name testoptiongroup ^ --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP False oracle-ee 12.1 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup Test Option Group testoptiongroup OPTIONS Oracle Advanced Security - Native Network Encryption NATIVE_NETWORK_ENCRYPTION False False OPTIONSETTINGS RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 STATIC STRING RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 Specifies list of encryption algorithms in order of intended use True True SQLNET.ENCRYPTION_TYPES_SERVER AES256,AES192,DES OPTIONSETTINGS ACCEPTED,REJECTED,REQUESTED,REQUIRED STATIC STRING REQUESTED Specifies the desired encryption behavior False True SQLNET.ENCRYPTION_SERVER REQUIRED OPTIONSETTINGS SHA1,MD5 STATIC STRING SHA1,MD5 Specifies list of checksumming algorithms in order of intended use True True SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER SHA1,MD5

API

要使用 Amazon RDS API 将选项添加到选项组,请带所需选项调用 ModifyOptionGroup 操作。要立即在所有关联数据库实例上启用新选项,请加入 ApplyImmediately 参数并将其设置为 true。默认情况下,会在每个关联数据库实例的下一维护时段启用此选项。包括以下必需参数:

  • OptionGroupName

列出选项组的选项和选项设置

您可以列出选项组的所有选项和选项设置。

AWS 管理控制台

您可以使用 AWS 管理控制台列出选项组的所有选项和选项设置。

列出选项组的选项和选项设置

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择选项组。表中的 Options 列显示选项组中的选项和选项设置。

CLI

要列出选项组的选项和选项设置,请使用 AWS CLI describe-option-groups 命令。指定您要查看其选项和设置的选项组的名称。如果不指定选项组名称,则会显示所有选项组的说明。

以下示例列出了所有选项组的选项和选项设置。

aws rds describe-option-groups

以下示例列出名为 testoptiongroup 的选项组的选项和选项设置。

aws rds describe-option-groups --option-group-name testoptiongroup

API

要列出选项组的选项和选项设置,请使用 Amazon RDS API DescribeOptionGroups 操作。指定您要查看其选项和设置的选项组的名称。如果不指定选项组名称,则会显示所有选项组的说明。

修改选项设置

添加具有可修改的选项设置的选项后,可随时修改这些设置。如果更改选项组的选项或选项设置,这些更改将应用到与此选项组相关联的所有数据库实例。有关哪些设置对各种选项可用的详细信息,请参阅 使用选项组 中列出的适用于特定引擎的文档。

在以下两种情况下,必须立即应用选项组更改:

  • 当您添加用于添加或更新端口值的选项时,如 OEM 选项。

  • 当您添加或删除某个具有含端口值选项的选项组时。

在这些情况下,您必须在控制台中选择 立即应用 选项,或者在使用 AWS CLI 时加入 Apply-Immediately 选项或在使用 Amazon RDS API 时将 Apply-Immediately 参数设置为 true。可立即应用不包括端口值的选项,也可在数据库实例的下一维护时段内应用此类选项。

AWS 管理控制台

您可以使用 AWS 管理控制台来修改选项设置。

通过使用控制台来修改选项设置

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择选项组

  3. 选择要修改选项的选项组,然后选择修改选项

  4. 修改选项窗口中,从安装的选项中选择要修改设置的选项。执行所需的更改。

  5. 要在添加选项后启用该选项,对于 立即应用,请选择 Yes。如果选择 No (默认),则会在下一个维护时段为每个关联数据库实例启用此选项。

  6. 根据需要设置完毕后,选择 Modify Option

CLI

要修改选项设置,请使用 AWS CLI add-option-to-option-group 命令处理要修改的选项组和选项。默认情况下,会在每个关联数据库实例的下一维护时段启用此选项。要立即将更改应用到所有关联数据库实例,请包含 --apply-immediately 参数。要修改选项设置,请使用 --settings 参数。

下例会修改在名为 testoptiongroup 的选项组中 Oracle Enterprise Manager Database Control (OEM) 使用的端口,并立即应用此更改。

针对 Linux、OS X 或 Unix:

aws rds add-option-to-option-group \ --option-group-name testoptiongroup \ --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name testoptiongroup ^ --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP False oracle-ee 12.1 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup Test Option Group testoptiongroup OPTIONS Oracle 12c EM Express OEM False False 5432 DBSECURITYGROUPMEMBERSHIPS default authorized

下例修改 Oracle 选项 NATIVE_NETWORK_ENCRYPTION,然后更改该选项的设置。

针对 Linux、OS X 或 Unix:

aws rds add-option-to-option-group \ --option-group-name testoptiongroup \ --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES,RC4_256"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \ --apply-immediately

对于 Windows:

aws rds add-option-to-option-group ^ --option-group-name testoptiongroup ^ --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES\,RC4_256"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP False oracle-ee 12.1 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup Test Option Group testoptiongroup OPTIONS Oracle Advanced Security - Native Network Encryption NATIVE_NETWORK_ENCRYPTION False False OPTIONSETTINGS RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 STATIC STRING RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 Specifies list of encryption algorithms in order of intended use True True SQLNET.ENCRYPTION_TYPES_SERVER AES256,AES192,DES,RC4_256 OPTIONSETTINGS ACCEPTED,REJECTED,REQUESTED,REQUIRED STATIC STRING REQUESTED Specifies the desired encryption behavior False True SQLNET.ENCRYPTION_SERVER REQUIRED OPTIONSETTINGS SHA1,MD5 STATIC STRING SHA1,MD5 Specifies list of checksumming algorithms in order of intended use True True SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER SHA1,MD5 OPTIONSETTINGS ACCEPTED,REJECTED,REQUESTED,REQUIRED STATIC STRING REQUESTED Specifies the desired data integrity behavior False True SQLNET.CRYPTO_CHECKSUM_SERVER REQUESTED

API

要修改选项设置,请使用 Amazon RDS API ModifyOptionGroup 命令处理要修改的选项组和选项。默认情况下,会在每个关联数据库实例的下一维护时段启用此选项。要立即将更改应用到所有关联数据库实例,请加入 ApplyImmediately 参数并将其设置为 true

从选项组中删除选项

有些选项可从选项组中删除,而另一些不可以。在与选项组关联的所有数据库实例未取消关联之前,不能从该选项组中删除持续性选项。永久选项无法从选项组中删除。有关可删除选项的更多信息,请参阅 使用选项组 中列出的适用于特定引擎的文档。

如果您删除某个选项组的所有选项,Amazon RDS 将不会删除该选项组。与空选项组相关联的数据库实例会继续与之相关联;只是不具有任何活动选项。或者,要删除数据库实例的所有选项,您可以将数据库实例与默认 (空) 选项组关联。

AWS 管理控制台

您可以使用 AWS 管理控制台删除选项组中的选项。

通过使用控制台删除选项组中的选项

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择选项组

  3. 选择要删除选项的选项组,然后选择删除选项

  4. 删除选项窗口中,执行以下操作:

    • 选中您要删除的选项对应的复选框。

    • 要在删除选项后使删除立即生效,请为立即应用选择。如果选择 No (默认),则会在下一个维护时段为每个关联数据库实例删除此选项。

     删除选项组
  5. 根据需要完成所有设置后,选择 Yes, Delete

CLI

要从选项组中删除选项,请在 AWS CLI remove-option-from-option-group 命令中指定要删除的选项。默认情况下,会在每个关联数据库实例的下一维护时段删除此选项。要立即应用更改,请加入 --apply-immediately 参数。

下例会从名为 testoptiongroup 的选项组中删除 Oracle Enterprise Manager Database Control (OEM) 选项,并立即应用此更改。

针对 Linux、OS X 或 Unix:

aws rds remove-option-from-option-group \ --option-group-name testoptiongroup \ --options OEM \ --apply-immediately

对于 Windows:

aws rds remove-option-from-option-group ^ --option-group-name testoptiongroup ^ --options OEM ^ --apply-immediately

命令输出类似于以下内容:

OPTIONGROUP testoptiongroup oracle-ee 12.1 Test option group

API

要从选项组中删除选项,请使用 Amazon RDS API ModifyOptionGroup 操作。默认情况下,会在每个关联数据库实例的下一维护时段删除此选项。要立即应用更改,请加入 ApplyImmediately 参数,并将其设置为 true

包括以下参数:

  • OptionGroupName

  • OptionsToRemove.OptionName