自定义 RDS Custom 环境 - Amazon Relational Database Service

自定义 RDS Custom 环境

RDS Custom for Oracle 包含内置特征,允许您在不暂停自动化的情况下自定义数据库实例环境。例如,您可以使用 RDS API 自定义您的环境,如下所示:

  • 创建和还原数据库快照以创建克隆环境。

  • 创建只读副本。

  • 修改存储设置。

  • 更改 CEV 以应用版本更新

对于某些自定义,例如更改字符集,您不能使用 RDS API。在这些情况下,您需要通过以根用户身份访问 Amazon EC2 实例或以 SYSDBA 身份登录 Oracle 数据库来手动更改环境。

要手动自定义您的实例,您必须暂停并恢复 RDS Custom 自动化。这一暂停可确保您的自定义项不会干扰 RDS Custom 自动化。通过这种方式,您可以避免突破支持边界,这会将实例置于 unsupported-configuration 状态,直到您修复底层问题为止。修改 RDS Custom for Oracle 数据库实例时,暂停和恢复是唯一受支持的自动化任务。

自定义 RDS Custom 环境的一般步骤

要自定义 RDS Custom 数据库实例,请完成以下步骤:

  1. 使用控制台或 CLI 在指定的时间内暂停 RDS Custom 自动化

  2. 识别您的底层 Amazon EC2 实例。

  3. 通过使用 SSH 密钥或 AWS Systems Manager 连接到底层 Amazon EC2 实例。

  4. 在数据库或操作系统层验证您的当前配置设置。

    您可以通过将初始配置与更改的配置进行比较来验证您的更改。根据自定义类型,使用操作系统工具或数据库查询。

  5. 根据需要自定义 RDS Custom for Oracle 数据库实例。

  6. 如果需要,重启您的实例或数据库。

    注意

    在本地 Oracle CDB 中,您可以使用内置命令或在启动触发器之后为 PDB 保留指定的打开模式。当 CDB 重新启动时,此机制使 PDB 进入指定状态。打开 CDB 时,RDS Custom 自动化会丢弃任何用户指定的保留状态,并尝试打开所有 PDB。如果 RDS Custom 无法打开所有 PDB,则会发出以下事件:The following PDBs failed to open: list-of-PDBs

  7. 通过将您的新配置设置与以前的设置进行比较,对其进行验证。

  8. 通过以下任一方式恢复 RDS Custom 自动化:

    • 手动恢复自动化。

    • 等待暂停期结束。在这种情况下,RDS Custom 会自动恢复监控和实例恢复。

  9. 验证 RDS Custom 自动化框架

    如果您正确执行了上述步骤,RDS Custom 将启动自动备份。控制台中实例的状态显示为可用

有关最佳实践和分步说明,请参阅 AWS 博客文章对 Amazon RDS Custom for Oracle 实例进行配置更改:第 1 部分重新创建 Amazon RDS Custom for Oracle 数据库:第 2 部分

暂停和恢复 RDS Custom 数据库实例

您可以使用控制台或 CLI 暂停和恢复数据库实例的自动化。

要暂停或恢复 RDS Custom 自动化
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

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

  4. 对于 RDS Custom automation mode(RDS Custom 自动化模式),请选择以下选项之一:

    • Paused(已暂停)将暂停 RDS Custom 数据库实例的监控和实例恢复。为 Automation mode duration(自动化模式持续时间)输入您想要的暂停持续时间。最小值为 60 分钟(默认值)。最大值为 1440 分钟。

    • Full automation(完全自动化)将恢复自动化。

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

    将显示一条消息,表示 RDS Custom 将立即应用更改。

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

    在 RDS 控制台上,将显示修改的详细信息。如果您暂停了自动化,RDS Custom 数据库实例的 Status(状态)将指示 Automation paused(自动化已暂停)。

  7. (可选)在导航窗格中,选择 Databases (数据库),然后选择 RDS Custom 数据库实例。

    Summary(摘要)窗格中,RDS Custom automation mode(RDS Custom 自动化模式)表示自动化状态。如果自动化已暂停,则值为 Paused(已暂停)。自动化将在 num 分钟内恢复

要暂停或恢复 RDS Custom 自动化,请使用 modify-db-instance AWS CLI 命令。使用必需的参数 --db-instance-identifier 识别数据库实例。使用以下参数控制自动化模式:

  • --automation-mode 指定数据库实例的暂停状态。有效值为 all-paused,它将暂停自动化,以及 full,它将恢复自动化。

  • --resume-full-automation-mode-minutes 指定暂停的持续时间。默认值为 60 分钟。

注意

无论您是指定 --no-apply-immediately 还是 --apply-immediately,RDS Custom 都会尽快地异步应用修改。

在命令响应中,ResumeFullAutomationModeTime 以 UTC 时间戳表示恢复时间。当自动化模式为 all-paused 时,您可以使用 modify-db-instance 恢复自动化模式或延长暂停时间。不支持其他 modify-db-instance 选项。

以下示例将 my-custom-instance 的自动化暂停 90 分钟。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode all-paused \ --resume-full-automation-mode-minutes 90

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode all-paused ^ --resume-full-automation-mode-minutes 90

以下示例将暂停持续时间再延长 30 分钟。在 ResumeFullAutomationModeTime 中显示的原始时间中增加 30 分钟。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode all-paused \ --resume-full-automation-mode-minutes 30

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode all-paused ^ --resume-full-automation-mode-minutes 30

以下示例恢复 my-custom-instance 的完全自动化。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --automation-mode full \

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --automation-mode full

在以下部分示例输出中,待处理 AutomationMode 值为 full

{ "DBInstance": { "PubliclyAccessible": true, "MasterUsername": "admin", "MonitoringInterval": 0, "LicenseModel": "bring-your-own-license", "VpcSecurityGroups": [ { "Status": "active", "VpcSecurityGroupId": "0123456789abcdefg" } ], "InstanceCreateTime": "2020-11-07T19:50:06.193Z", "CopyTagsToSnapshot": false, "OptionGroupMemberships": [ { "Status": "in-sync", "OptionGroupName": "default:custom-oracle-ee-19" } ], "PendingModifiedValues": { "AutomationMode": "full" }, "Engine": "custom-oracle-ee", "MultiAZ": false, "DBSecurityGroups": [], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-19", "ParameterApplyStatus": "in-sync" } ], ... "ReadReplicaDBInstanceIdentifiers": [], "AllocatedStorage": 250, "DBInstanceArn": "arn:aws:rds:us-west-2:012345678912:db:my-custom-instance", "BackupRetentionPeriod": 3, "DBName": "ORCL", "PreferredMaintenanceWindow": "fri:10:56-fri:11:26", "Endpoint": { "HostedZoneId": "ABCDEFGHIJKLMNO", "Port": 8200, "Address": "my-custom-instance.abcdefghijk.us-west-2.rds.amazonaws.com" }, "DBInstanceStatus": "automation-paused", "IAMDatabaseAuthenticationEnabled": false, "AutomationMode": "all-paused", "EngineVersion": "19.my_cev1", "DeletionProtection": false, "AvailabilityZone": "us-west-2a", "DomainMemberships": [], "StorageType": "gp2", "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVW", "ResumeFullAutomationModeTime": "2020-11-07T20:56:50.565Z", "KmsKeyId": "arn:aws:kms:us-west-2:012345678912:key/aa111a11-111a-11a1-1a11-1111a11a1a1a", "StorageEncrypted": false, "AssociatedRoles": [], "DBInstanceClass": "db.m5.xlarge", "DbInstancePort": 0, "DBInstanceIdentifier": "my-custom-instance", "TagList": [] }