将数据库实例还原至指定时间 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将数据库实例还原至指定时间

可以将数据库实例还原到特定时间点,以创建新数据库实例

将数据库实例还原到某个时间点时,默认数据库安全组将应用于新数据库实例。如果需要将自定义数据库安全组应用于数据库实例,则在数据库实例可用之后,必须使用 Amazon Web Services Management Console、Amazon CLI modify-db-instance 命令或 Amazon RDS API ModifyDBInstance 操作明确应用它们。

还原的数据库实例自动与默认参数和选项组关联。但是,您可以通过在还原期间指定自定义参数组和选项组来应用它们。

RDS 每隔 5 分钟将数据库实例的事务日志上传到 Amazon S3 一次。要查看某个数据库实例的最近可还原时间,请使用 Amazon CLI describe-db-instances 命令,并查看该数据库实例的 LatestRestorableTime 字段中返回的值。要在 Amazon RDS 控制台中查看每个数据库实例的最近可还原时间,请选择自动备份

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


            自动备份
注意

如果使用预置 IOPS 存储作为源数据库实例,我们建议您恢复到相同或相似的数据库实例大小和 IOPS。例如,如果您选择具有不兼容 IOPS 值的数据库实例大小,则可能会出现错误。

从某个时间点进行还原时,Amazon RDS 使用的某些数据库引擎还有一些特殊的注意事项:

  • 将 Oracle 数据库实例还原到某个时间点时,可指定不同的 Oracle 数据库引擎、许可模式和 DBName (SID) 供新数据库实例使用。

  • 将 SQL Server 数据库实例还原到某个时间点时,该实例中的每个数据库均还原到与实例中每个其他数据库相差 1 秒以内的时间点。对于实例内跨多个数据库的事务,还原时可能会发生不一致的情况。

  • 对于 SQL Server 数据库实例,OFFLINEEMERGENCYSINGLE_USER 模式不受支持。将任何数据库设置成上述模式之一,会导致整个实例的最近可还原时间停滞不前。

  • 某些操作 (如更改 SQL Server 数据库的恢复模式) 可中断用于时间点恢复的日志序列。在某些情况下,Amazon RDS 可以检测到此问题,最近的可恢复时间将无法向前推进。在其他情况下,例如在 SQL Server 数据库使用 BULK_LOGGED 恢复模型时,无法检测到日志序列中断。如果日志序列中断,则可能无法将 SQL Server 数据库实例还原到某个时间点。出于这些原因,Amazon RDS 不支持更改 SQL Server 数据库的恢复模式。

注意

您也可以使用 Amazon Backup 管理 Amazon RDS 数据库实例的备份。如果您的数据库实例与 Amazon Backup 中的备份计划关联,则该备份计划用于时间点恢复。使用 Amazon Backup 创建的备份的名称以 awsbackup:Amazon-Backup-job-number 结尾。有关 Amazon Backup 的更多信息,请参阅 Amazon Backup 开发人员指南

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

将数据库实例还原至指定时间

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

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

    注意

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

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

  7. 根据需要选择其他选项,例如数据库实例类 、存储,以及是否要使用存储自动扩展

  8. 选择还原到时间点

要将数据库实例还原到指定时间,请使用 Amazon CLI 命令 restore-db-instance-to-point-in-time 创建新的数据库实例。此示例还启用了存储自动扩展功能。

对于 Linux、macOS 或 Unix:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier mysourcedbinstance \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2017-10-14T23:45:00.000Z \ --max-allocated-storage 1000

对于 Windows:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier mysourcedbinstance ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2017-10-14T23:45:00.000Z ^ --max-allocated-storage 1000

要将数据库实例还原到指定时间,请结合以下参数调用 Amazon RDS API RestoreDBInstanceToPointInTime 操作:

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime