从 Amazon S3 下载存档的重做日志
您可以使用 rdsadmin.rdsadmin_archive_log_download
软件包在数据库实例上下载存档的重做日志。如果存档的重做日志不再存在于数据库实例上,您可能需要从 Amazon S3 重新下载它们。然后,您可以挖掘日志或使用日志恢复或复制数据库。
注意
您无法在只读副本实例上下载存档的重做日志。
下载归档的重做日志:基本步骤
归档的重做日志的可用性取决于以下保留策略:
-
备份保留策略 – Amazon S3 提供了此策略内的日志。此策略之外的日志将被删除。
-
归档的日志保留策略 – 此策略内的日志在数据库实例上可用。此策略之外的日志将被删除。
如果日志不在您的实例上,但受到备份保留期的保护,请使用 rdsadmin.rdsadmin_archive_log_download
以重新下载。RDS for Oracle 会将日志保存到数据库实例的 /rdsdbdata/log/arch
目录。
从 Amazon S3 下载归档的重做日志
-
配置您的保留期,以确保您下载的归档重做日志在您需要的时间内得到保留。请确保
COMMIT
您的更改。RDS 根据归档日志保留策略保留您下载的日志,从下载日志之时开始。要了解如何设置保留策略,请参阅保留存档重做日志。
-
最多等待 5 分钟,使归档的日志保留策略更改生效。
-
使用
rdsadmin.rdsadmin_archive_log_download
从 Amazon S3 下载归档的重做日志。有关更多信息,请参阅“下载单个归档的重做日志”和“下载一系列归档的重做日志”。
注意
RDS 在下载之前会自动检查可用的存储空间。如果请求的日志占用大量空间,您将收到警报。
-
确认日志已成功从 Amazon S3 下载。
您可以查看 bdump 文件中的下载任务的状态。bdump 文件的路径名称为
/rdsdbdata/log/trace/dbtask-
。在前面的下载步骤中,您可以运行task-id
.logSELECT
语句,该语句可返回VARCHAR2
数据类型中的任务 ID。有关更多信息,请参阅监控文件传输的状态中的类似示例。
下载单个归档的重做日志
要将单个归档的重做日志下载到 /rdsdbdata/log/arch
目录中,请使用 rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum
。此过程具有以下参数。
参数名称 | 数据类型 | 默认值 | 必需 | 描述 |
---|---|---|---|---|
|
number |
— |
是 |
归档的重做日志的序列号。 |
以下示例展示的是下载序列号为 20 的日志。
SELECT rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum(seqnum => 20) AS TASK_ID FROM DUAL;
下载一系列归档的重做日志
要将一系列归档的重做日志下载到 /rdsdbdata/log/arch
目录中,请使用 download_logs_in_seqnum_range
。每个请求的下载限制为 300 个日志。download_logs_in_seqnum_range
过程具有以下参数。
参数名称 | 数据类型 | 默认值 | 必需 | 描述 |
---|---|---|---|---|
|
number |
— |
是 |
系列的起始序列号。 |
|
number |
— |
是 |
系列的结束序列号。 |
以下示例展示的是下载序列号为 50 至 100 的日志。
SELECT rdsadmin.rdsadmin_archive_log_download.download_logs_in_seqnum_range(start_seq => 50, end_seq => 100) AS TASK_ID FROM DUAL;