将 RDS Custom for Oracle 实例还原到某个时间点 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 RDS Custom for Oracle 实例还原到某个时间点

您可以将数据库实例还原到某个特定时间点 (PITR),以创建新数据库实例。要支持 PITR,您的数据库实例必须将备份保留期设置为非零值。

RDS Custom for Oracle 数据库实例的最近可还原时间取决于多个因素,但通常为当前时间的 5 分钟内。要查看某个数据库实例的最近可还原时间,请使用 Amazon CLI describe-db-instances 命令,并查看该数据库实例的 LatestRestorableTime 字段中返回的值。要在 Amazon RDS 控制台中查看每个数据库实例的最近可还原时间,请选择自动备份

您可以还原至备份保留期内的任何时间点。要查看每个数据库实例的最早可还原时间,请在 Amazon RDS 控制台中选择自动备份

有关 PITR 的一般信息,请参阅将 Amazon RDS 的数据库实例还原到指定时间

RDS Custom for Oracle 的 PITR 注意事项

在 RDS Custom for Oracle 中,PITR 与 Amazon RDS 中的 PITR 有以下重要的区别:

  • 还原的数据库的名称与源数据库实例中的名称相同。您不能指定不同的名称。默认为 ORCL

  • AWSRDSCustomIamRolePolicy 需要新的权限。有关更多信息,请参阅 步骤 2:将访问策略添加到 AWSRDSCustomInstanceRoleForRdsCustomInstance 中

  • RDS Custom for Oracle 的所有数据库实例都必须将备份保留期设置为非零值。

  • 如果更改操作系统或数据库实例时区,PITR 可能无法正常工作。有关更改时区的信息,请参阅Oracle 时区

  • 如果将自动化设置为 ALL_PAUSED,RDS Custom 会暂停上传存档的重做日志文件,包括在最近可还原时间(LRT)之前创建的日志。我们建议您短暂暂停自动化。

    为了进行说明,假设您的 LRT 为 10 分钟前。您暂停了自动化。暂停期间,RDS Custom 不上载存档的重做日志。如果数据库实例崩溃,则只能恢复到暂停时存在的 LRT 之前的一段时间。当您恢复自动化时,RDS Custom 会恢复上载日志。LRT 推进。将适用正常的 PITR 规则。

  • 在 RDS Custom 中,您可以手动指定 RDS Custom 在上载后将存档的重做日志删除之前将其保留的任意小时数。按如下方式指定小时数:

    1. 创建名为 /opt/aws/rdscustomagent/config/redo_logs_custom_configuration.json 的文本文件。

    2. 按以下格式添加 JSON 对象:{"archivedLogRetentionHours" : "num_of_hours"}。该数字必须是一个介于 1–840 之间的整数。

  • 假设您将非 CDB 作为 PDB 插入容器数据库(CDB),然后尝试 PITR。仅当您先前备份了 PDB 时,该操作才会成功。创建或修改 PDB 后,我们建议您始终对其进行备份。

  • 我们建议您不要自定义数据库初始化参数。例如,修改以下参数会影响 PITR:

    • CONTROL_FILE_RECORD_KEEP_TIME 影响上传和删除日志的规则。

    • LOG_ARCHIVE_DEST_n 不支持多个目的地。

    • ARCHIVE_LAG_TARGET 影响最近可还原时间。ARCHIVE_LAG_TARGET 设置为 300,因为恢复点目标(RPO)为 5 分钟。为了实现这一目标,RDS 每 5 分钟切换一次在线重做日志,并将其存储在 Amazon S3 存储桶中。如果日志切换的频率导致 RDS Custom for Oracle 数据库出现性能问题,则可以将数据库实例和存储扩展到具有更高 IOPS 和吞吐量的数据库实例和存储。如果恢复计划需要,可以将 ARCHIVE_LAG_TARGET 初始化参数的设置调整为 60–7200 之间的值。

  • 如果您自定义数据库初始化参数,我们强烈建议您只自定义以下内容:

    • COMPATIBLE

    • MAX_STRING_SIZE

    • DB_FILES

    • UNDO_TABLESPACE

    • ENABLE_PLUGGABLE_DATABASE

    • CONTROL_FILES

    • AUDIT_TRAIL

    • AUDIT_TRAIL_DEST

    对于所有其他初始化参数,RDS Custom 将还原原定设置值。如果修改不在前面列表中的参数,可能会对 PITR 产生不利影响,并导致不可预测的结果。例如,CONTROL_FILE_RECORD_KEEP_TIME 影响上传和删除日志的规则。

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 将 RDS Custom 数据库实例还原到某个时间点。

要将 RDS Custom 数据库实例还原至指定时间
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Automated backups(自动备份)。

  3. 选择要还原的 RDS Custom 数据库实例。

  4. 对于 Actions (操作),选择 Restore to point in time (还原到时间点)

    此时会显示还原到时间点窗口。

  5. 选择最近可还原时间以还原到可能的最近时间,或选择自定义来选择时间。

    如果您选择 Custom(自定义),请输入要将实例集群还原到的日期和时间。

    时间以您的本地时区显示,表示为协调世界时 (UTC) 的偏移量。例如,UTC-5 是东部标准时间/中部夏令时。

  6. 对于 DB instance identifier(数据库实例标识符),请输入目标还原后的 RDS Custom 数据库实例的名称。名称必须唯一。

  7. 根据需要选择其他选项,例如数据库实例类。

  8. 选择还原到时间点

通过使用 restore-db-instance-to-point-in-time Amazon CLI 命令创建新的 RDS Custom 数据库实例,将数据库实例还原到指定时间。

使用以下选项之一指定要从中恢复的备份:

  • --source-db-instance-identifier mysourcedbinstance

  • --source-dbi-resource-id dbinstanceresourceID

  • --source-db-instance-automated-backups-arn backupARN

custom-iam-instance-profile 选项是必需的。

截至指定的时间,以下示例会将 my-custom-db-instance 还原到名为 my-restored-custom-db-instance 的新数据库实例。

对于 Linux、macOS 或 Unix:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier my-custom-db-instance\ --target-db-instance-identifier my-restored-custom-db-instance \ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \ --restore-time 2022-10-14T23:45:00.000Z

对于 Windows:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier my-custom-db-instance ^ --target-db-instance-identifier my-restored-custom-db-instance ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^ --restore-time 2022-10-14T23:45:00.000Z