将 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 在上载后将存档的重做日志删除之前将其保留的任意小时数。按如下方式指定小时数:
-
创建名为
/opt/aws/rdscustomagent/config/redo_logs_custom_configuration.json
的文本文件。 -
按以下格式添加 JSON 对象:
{"archivedLogRetentionHours" : "
。该数字必须是一个介于 1–840 之间的整数。num_of_hours
"}
-
-
假设您将非 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 数据库实例还原至指定时间
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Automated backups(自动备份)。
-
选择要还原的 RDS Custom 数据库实例。
-
对于 Actions (操作),选择 Restore to point in time (还原到时间点)。
此时会显示还原到时间点窗口。
-
选择最近可还原时间以还原到可能的最近时间,或选择自定义来选择时间。
如果您选择 Custom(自定义),请输入要将实例集群还原到的日期和时间。
时间以您的本地时区显示,表示为协调世界时 (UTC) 的偏移量。例如,UTC-5 是东部标准时间/中部夏令时。
-
对于 DB instance identifier(数据库实例标识符),请输入目标还原后的 RDS Custom 数据库实例的名称。名称必须唯一。
-
根据需要选择其他选项,例如数据库实例类。
-
选择还原到时间点。
通过使用 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-identifiermy-restored-custom-db-instance
\ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance
\ --restore-time2022-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-identifiermy-restored-custom-db-instance
^ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance
^ --restore-time2022-10-14T23:45:00.000Z