自定义 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 数据库实例,请完成以下步骤:
-
使用控制台或 CLI 在指定的时间内暂停 RDS Custom 自动化
-
识别您的底层 Amazon EC2 实例。
-
通过使用 SSH 密钥或 AWS Systems Manager 连接到底层 Amazon EC2 实例。
-
在数据库或操作系统层验证您的当前配置设置。
您可以通过将初始配置与更改的配置进行比较来验证您的更改。根据自定义类型,使用操作系统工具或数据库查询。
-
根据需要自定义 RDS Custom for Oracle 数据库实例。
-
如果需要,重启您的实例或数据库。
注意
在本地 Oracle CDB 中,您可以使用内置命令或在启动触发器之后为 PDB 保留指定的打开模式。当 CDB 重新启动时,此机制使 PDB 进入指定状态。打开 CDB 时,RDS Custom 自动化会丢弃任何用户指定的保留状态,并尝试打开所有 PDB。如果 RDS Custom 无法打开所有 PDB,则会发出以下事件:
The following PDBs failed to open:
。list-of-PDBs
-
通过将您的新配置设置与以前的设置进行比较,对其进行验证。
-
通过以下任一方式恢复 RDS Custom 自动化:
-
手动恢复自动化。
-
等待暂停期结束。在这种情况下,RDS Custom 会自动恢复监控和实例恢复。
-
-
验证 RDS Custom 自动化框架
如果您正确执行了上述步骤,RDS Custom 将启动自动备份。控制台中实例的状态显示为可用。
有关最佳实践和分步说明,请参阅 AWS 博客文章对 Amazon RDS Custom for Oracle 实例进行配置更改:第 1 部分
暂停和恢复 RDS Custom 数据库实例
您可以使用控制台或 CLI 暂停和恢复数据库实例的自动化。
要暂停或恢复 RDS Custom 自动化
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,请选择 Databases(数据库),然后选择要修改的 RDS Custom 数据库实例。
-
选择修改。将显示修改数据库实例页面。
-
对于 RDS Custom automation mode(RDS Custom 自动化模式),请选择以下选项之一:
-
Paused(已暂停)将暂停 RDS Custom 数据库实例的监控和实例恢复。为 Automation mode duration(自动化模式持续时间)输入您想要的暂停持续时间。最小值为 60 分钟(默认值)。最大值为 1440 分钟。
-
Full automation(完全自动化)将恢复自动化。
-
-
请选择 Continue(继续),以查看修改摘要。
将显示一条消息,表示 RDS Custom 将立即应用更改。
-
如果更改正确无误,请选择 Modify DB Instance(修改数据库实例)。也可以选择 Back (返回) 编辑您的更改,或选择 Cancel (取消) 取消更改。
在 RDS 控制台上,将显示修改的详细信息。如果您暂停了自动化,RDS Custom 数据库实例的 Status(状态)将指示 Automation paused(自动化已暂停)。
-
(可选)在导航窗格中,选择 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": [] }