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

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

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

将数据库实例还原到某个时间点时,您可以选择默认的 Virtual Private Cloud (VPC) 安全组,也可以将自定义 VPC 安全组应用于数据库实例。

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

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

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


            自动备份
注意

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

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

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

  • 将 Microsoft 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 RDS。有关还原 Amazon Aurora 数据库集群的更多信息,请参阅将数据库集群还原到指定时间

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

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

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

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

    自动备份便会显示在 Current Region(当前区域)选项卡上。

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

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

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

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

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

    注意

    时间以您的本地时区显示,表示为协调世界时 (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