Database Migration Service 利用 Oracle LogMiner API(Oracle 数据库的一部分)来查询归档的重做日志文件。这些文件包含数据库的活动历史记录的相关信息。每个 Oracle 数据库都有一组在线重做日志文件。数据库中的所有事务记录都记录在文件中。
当前重做日志文件被轮替(或被切换)时,归档过程会 将此文件复制到归档存储。同时,数据库会提升另一个文件用作当前文件。
当 Database Migration Service 使用 Oracle LogMiner API 时,它不会访问在线重做日志文件,而只会处理归档的日志文件。访问归档的重做日志文件本身会增加迁移过程的延迟时间。本页介绍了为 Oracle 源数据库建议的配置,以控制延迟时间影响。
为 Oracle 的重做日志文件设置配置参数
此设计对 Database Migration Service 的潜在延迟时间有着深远的影响。如果 Oracle 重做日志文件频繁切换或保持较小的大小(例如 < 256 MB),则 Database Migration Service 可以更快地复制更改。
您可以设置配置参数来控制日志文件轮替频率:
大小:在线重做日志文件的大小下限为 4 MB,默认大小取决于您的操作系统。您可以通过创建新的在线日志文件并删除旧日志文件来修改日志文件的大小。
要查找在线重做日志文件的大小,请运行以下查询:
SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
- 时间:
ARCHIVE_LAG_TARGET
参数提供主数据库的当前日志可跨越的时长上限(以秒为单位)。这不是确切的日志切换时间,因为需要考虑归档日志所需的时间。默认值为
0
(无上限),建议采用合理的值1800
(30 分钟)或更短。您可使用以下命令在初始化期间或数据库启动期间设置
ARCHIVE_LAG_TARGET
参数:SHOW PARAMETER ARCHIVE_LAG_TARGET;
此命令显示当前日志跨越所需要的秒数。ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds;
使用此命令更改上限。例如,如需将上限设置为 10 分钟(600 秒),请输入
ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;