Openflow Connector for Oracle 故障排除¶
备注
此连接器受 Snowflake 连接器条款 的约束。
备注
除标准连接器服务条款外,Openflow Connector for Oracle 还需遵守其他服务条款。有关更多信息,请参阅 Openflow Connector for Oracle 附录。
本主题介绍如何排查 Openflow Connector for Oracle 的常见问题。
表已添加到复制中,但未显示在 Snowflake 中¶
表的完全限定名称 (FQN) 可能在连接器配置中进行了错误指定。
解决方案
检查
Oracle Ingestion Parameters中的 FQN 格式。应该是 ``<database_name>.<schema_name>.<table_name>``(注意数据库前缀)。检查
Oracle Source Parameters»Oracle Connection URL中的数据库名称。虽然 FQNs 支持指定数据库名称,但目前,数据必须与用于此连接的数据库位于同一数据库实例中。验证您是否在连接器配置中提供了完整的数据库名称(包括域名)。例如,使用
MYDB.EXAMPLE.COM而不仅是MYDB。要查找正确的数据库名称,请在 Oracle 数据库上运行以下查询:
一般来说,
property_value与数据库的服务名称相同。但是,返回的数据库名称可能包含追加的域名(例如,对于服务名称FOO,查询可能会返回FOO.EXAMPLE.COM)。在这种情况下,请使用带有域的全名(放在双引号内,因为它包含点)。
增量负载没有变化¶
增量负载不会获取或应用源数据库中的更改。
解决方案
为 读取 Oracle CDC 流 处理器运行验证:
在 Openflow 运行时中,双击 Oracle 流。
双击名为 Incremental Load 的流程组。
查找 Read Oracle CDC Stream 处理器。
如果正在运行,请右键单击并选择 Stop。必须先停止处理器,然后才能验证其配置。
再次右键单击 Read Oracle CDC Stream,然后选择 Configure。
选择 Properties 选项卡。
选择右上角的 Verification 复选标记图标。
在出现的弹出窗口中,选择右下角的 Verify。
验证过程的结果如下所示。该过程验证数据库连接,并检查增量负载工作所需的组件的状态。
如果任何验证步骤失败,请查看错误消息,修复问题,然后再次运行验证。以下各节介绍具体问题和解决方法。
捕获状态不为 ENABLED¶
捕获流程状态为 DISABLED 或 ABORTED。DISABLED 状态表示捕获过程已手动停止(附带 DBMS_XSTREAM_ADM.STOP_OUTBOUND)或数据库已重新启动。ABORTED 状态表示捕获遇到错误,通常是因为捕获流程所需的重做日志已被删除。您可以通过检查系统变更编号 (SCN) 位置或查询捕获状态来确认这一情况。
解决方案
启动出站服务器:
LogMiner 会话的 UNKNOWN 状态¶
LogMiner 的状态为 UNKNOWN,这意味着 LogMiner 依赖的归档日志已被删除。您可以通过查询 V$ARCHIVED_LOG 并检查在 DELETED 列具有值 YES 的行来确认这一点。
解决方案
重新创建 XStream 出站服务器。有关更多信息,请参阅 问题发生在 XStream 出站服务器
XStream 捕获的 WAITING FOR REDO 状态¶
XStream 捕获状态显示 WAITING FOR REDO: FILE NA, THREAD 1, SEQUENCE 47, SCN 0x0000000000190ac4。这意味着 LogMiner 正在等待因已删除而不可用的存档日志文件。您可以通过查询 V$ARCHIVED_LOG 并检查在 DELETED 列具有值 YES 的行来确认这一点。
解决方案
重新创建 XStream 出站服务器。有关更多信息,请参阅 问题发生在 XStream 出站服务器
XStream 捕获规则不正确¶
XStream 未配置为从预期架构或表中获取变更。
解决方案
通过运行以下查询来验证捕获规则:
您还可以直接查询捕获状态和错误消息:
此查询返回以下内容:
CLIENT_NAME:选择使用 时默认使用的角色和仓库。XStream 客户端的名称(出站服务器)。STATUS:选择使用 时默认使用的角色和仓库。捕获过程的当前状态(例如,ENABLED、DISABLED、ABORTED)。ERROR_MESSAGE:选择使用 时默认使用的角色和仓库。与捕获过程相关的任何错误消息。
错误 ORA-21560:实参 last_position 为空、无效或超出范围¶
连接器尝试连接到重做日志不再可用的 SCN 位置。
解决方案
通过运行以下查询来确认问题。Last SCN processed by XStream 的 SCN 必须高于存在重做日志的最低值 SCN。
要从此错误中恢复,请重新创建 XStream 出站服务器。有关更多信息,请参阅 问题发生在 XStream 出站服务器
错误 ORA-26701:Streams 流程 XOUT1 不存在¶
在数据库实例上找不到 XStream 出站服务器。
解决方案
验证以下内容:
Oracle Source Parameters»XStream Out Server URL中的数据库名称指向使用 XStream 出站服务器的数据库实例,而非不同的 PDB。XStream 已在此实例上创建,并具有相同的名称。
错误 ORA-01722:创建出站服务器时的编号无效¶
执行 DBMS_XSTREAM_ADM.CREATE_OUTBOUND 失败并显示如下消息:
此错误具有误导性。出站服务器已存在。
解决方案
无需执行任何操作。请使用已存在的出站服务器。
问题发生在 XStream 出站服务器¶
已删除的重做日志或已损坏的 LogMiner 状态等多个问题可以通过重新创建 XStream 出站服务器来解决。
解决方案
删除现有的出站服务器:
再次创建出站服务器。有关更多信息,请参阅 创建 XStream 出站服务器。