使用 Oracle 数据库重做日志文件

概览

Dataflow 利用 Oracle LogMiner(Oracle 数据库的一部分)来查询归档的重做日志文件。这些文件包含数据库的活动历史记录的相关信息。

每个 Oracle 数据库都有一组在线重做日志文件。数据库中的所有事务记录都记录在文件中。

当前重做日志文件被轮替(或被切换)时,归档过程会将此文件复制到归档存储。同时,数据库会提升另一个文件用作当前文件。

Dataflow 的 Oracle 连接器会从归档的 Oracle 重做日志文件中提取变更数据捕获 (CDC) 事件。

为 Oracle 的重做日志文件设置配置参数

此设计对 Datastream 的潜在延迟时间有着深远的影响。如果 Oracle 的重做日志文件频繁切换或保持较小的大小(例如 < 256 MB),则 Datastream 可以更快地复制更改。

您可以设置配置参数来控制日志文件轮替频率:

  • 大小:在线重做日志文件的大小下限为 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;