选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Oracle 端点故障排除

聚焦模式

本页内容

Oracle 端点故障排除 - AWS 数据库迁移服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本节包含特定于 Oracle 的复制场景。

源读取暂停

在以下情况下,AWS DMS 会暂停从 Oracle 源读取。此行为是设计使然。您可以使用任务日志调查这种情况的原因。在任务日志中查找类似于以下内容的消息。有关使用任务日志的更多信息,请参阅查看和管理 AWS DMS 任务日志

  • SORTER 消息:这表明 DMS 正在缓存复制实例上的事务。有关更多信息,请参阅下面的任务日志中的 SORTER 消息

  • 调试任务日志:如果 DMS 中断了读取进程,则您的任务会将以下消息重复写入调试任务日志,而不会更改上下文字段或时间戳:

    • Binary Reader

      [SOURCE_CAPTURE ]T: Produce CTI event: context '00000020.f23ec6e5.00000002.000a.00.0000:190805.3477731.16' xid [00000000001e0018] timestamp '2021-07-19 06:57:55' thread 2 (oradcdc_oralog.c:817)
    • Logminer

      [SOURCE_CAPTURE ]T: Produce INSERT event: object id 1309826 context '000000000F2CECAA010000010005A8F500000275016C0000000000000F2CEC58' xid [000014e06411d996] timestamp '2021-08-12 09:20:32' thread 1 (oracdc_reader.c:2269)
  • AWS DMS 为每个新的重做或存档日志操作记录以下消息。

    00007298: 2021-08-13T22:00:34 [SOURCE_CAPTURE ]I: Start processing archived Redo log sequence 14850 thread 2 name XXXXX/XXXXX/ARCHIVELOG/2021_08_14/thread_2_seq_14850.22977.1080547209 (oradcdc_redo.c:754)

    如果源有新的重做或归档日志操作,并且 AWS DMS 没有将这些消息写入日志,则这意味着任务没有处理事件。

重做生成速率高

如果您的任务正在处理重做或存档日志,但源延迟仍然很高,请尝试确定重做日志的生成速率和生成模式。如果您有很高的重做日志生成水平,这会增加源延迟,因为任务会读取所有重做和存档日志,以便提取与复制的表相关的更改。

要确定重做生成速率,请使用以下查询。

  • 每日重做生成速率:

    select trunc(COMPLETION_TIME,'DD') Day, thread#, round(sum(BLOCKS*BLOCK_SIZE)/1024/1024/1024) GB, count(*) Archives_Generated from v$archived_log where completion_time > sysdate- 1 group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;
  • 每小时重做生成速率:

    Alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS'; select trunc(COMPLETION_TIME,'HH') Hour,thread# , round(sum(BLOCKS*BLOCK_SIZE)/1024/1024) "REDO PER HOUR (MB)", count(*) Archives from v$archived_log where completion_time > sysdate- 1 group by trunc(COMPLETION_TIME,'HH'),thread# order by 1 ;

在此场景中要排除延迟问题,请检查以下内容:

  • 检查网络带宽和复制的单线程性能,确保底层网络可以支持源重做生成速率。有关网络带宽如何影响复制性能的信息,请参见前文中的网络速度和带宽

  • 检查您是否正确设置了补充日志记录。请避免在源上进行额外的日志记录,例如在表的所有列上启用日志记录。有关设置补充日志记录的信息,请参阅设置补充日志记录

  • 确认您使用了正确的 API 来读取重做或归档日志。您可以使用 Oracle LogMiner 或 AWS DMS Binary Reader。当 LogMiner 读取在线重做日志和存档的重做日志文件时,Binary Reader 会直接读取并解析原始重做日志文件。因此,Binary Reader 的性能更高。如果您的重做日志生成速率超过 10 GB/小时,建议您使用 Binary Reader。有关更多信息,请参阅 在 CDC 中使用 Oracle LogMiner 或 AWS DMS 二进制阅读器

  • 检查 ArchivedLogsOnly 是否设置为 Y。如果设置了此端点设置,则 AWS DMS 会从存档重做日志进行读取。这会增加源延迟,因为 AWS DMS 要等待在线重做日志存档后再读取。有关更多信息,请参阅 ArchivedLogsOnly

  • 如果您的 Oracle 源使用自动存储管理(ASM),有关如何正确配置数据存储的信息,请参阅 使用 Oracle 作为源时在 Oracle ASM 上存储 REDO AWS DMS。您还可以使用 asmUsePLSQLArray 额外连接属性(ECA)进一步优化读取性能。有关使用 asmUsePLSQLArray 的信息,请参阅 使用 Oracle 作为来源时的终端节点设置 AWS DMS

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。