Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

可以将数据库实例还原到特定时间点,以创建新数据库实例。将数据库实例还原到某个时间点时,默认数据库安全组将应用于新数据库实例。如果需要将自定义数据库安全组应用于数据库实例,则在数据库实例可用之后,必须使用 AWS 管理控制台、AWS CLI modify-db-instance 命令或 Amazon RDS API ModifyDBInstance 操作显式应用它们。

RDS 每隔 5 分钟将数据库实例的事务日志上传到 Amazon S3 一次。要确定某个数据库实例的最近可还原时间,请使用 AWS CLI describe-db-instances 命令,并查看该数据库实例的 LatestRestorableTime 字段中返回的值。在 AWS 管理控制台中,此属性作为数据库实例的最近还原时间可见。您可在备份保留期内还原到任一时间点。

从某个时间点进行还原时,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 数据库的恢复模式。

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 将数据库实例还原到某个时间点。

AWS 管理控制台

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Instances

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

  4. 选择实例操作,然后选择还原到时间点

    启动数据库实例窗口随即显示。

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

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

  6. 数据库实例标识符框中键入已还原数据库实例的名称,然后完成其他选项。

  7. 选择 Launch DB Instance

CLI

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

针对 Linux、OS X 或 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

对于 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
API

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

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime