更新时间:2025-05-08 GMT+08:00

Oracle

Oracle连接器用于连接Oracle数据库,负责建立和维护应用程序和Oracle数据库之间的连接,并管理数据的传输。

  • Oracle是一个关系型数据库,以其高性能而闻名。
  • Oracle默认端口为1521,但是管理员可以根据需要将其更改为其他端口。

创建Oracle连接

  1. 登录新版ROMA Connect控制台。
  2. 在左侧导航栏选择“连接器”,在连接器页面单击“新建连接”。
  3. 选择“Oracle”连接器。
  4. 在弹窗中配置连接器信息,完成后单击“测试连接”,连接成功后单击“确定”。

    参数

    说明

    连接名称

    填写连接器实例名称。

    区域

    选择区域。

    项目

    选择项目。

    实例

    选择实例,用于后续验证连通性。

    连接与安全

    选择数据库的连接模式。

    • 默认:由系统根据用户配置自动拼接数据源连接字符串。
    • 专业:由用户自己输入数据源连接字符串。

    主机IP地址

    仅当“连接与安全”选择“默认”时需要配置。

    填写数据库的连接IP地址。

    端口

    仅当“连接与安全”选择“默认”时需要配置。

    填写数据库的连接端口号。

    数据库名

    仅当“连接与安全”选择“默认”时需要配置。

    填写要连接的数据库名。

    pdb数据库名

    仅当“连接与安全”选择“默认”时需要配置。

    填写要连接的pdb数据库名(CDB模式下填写)。

    编码格式

    仅当“连接与安全”选择“默认”时需要配置。

    填写数据库的编码格式。

    超时时间

    仅当“连接与安全”选择“默认”时需要配置。

    填写连接数据库的超时时间。

    连接字符串

    仅当“连接与安全”选择“专业”时需要配置。

    填写Oracle数据库的JDBC格式连接串,例如:jdbc:oracle:thin:@{hostname}:{port}:{dbname}。

    用户名

    连接数据库的用户名。

    密码

    连接数据库的用户密码。

    描述

    填写连接器的描述信息,用于识别不同的连接器。

支持的动作

  • 获取记录:该动作用于从Oracle数据库中检索数据,可通过指定表名、WHERE条件、Order by字段、Limit条数和Offset偏移量来查询数据。
  • 添加记录:该动作用于向Oracle数据库的指定表中插入一行新数据。
  • 更新记录:该动作用于更新Oracle数据库指定表中的一行或多行数据,可通过指定过滤条件来选择需要更新的行,并提供新的数据值。
  • 增量获取记录:该动作可在指定开始时间后,定时获取Oracle数据库中新增或修改的记录。
    • 该动作需搭配定时器使用,并在Oracle中启动LogMiner
    • 该动作在实验中,请勿用于生产。
  • 删除记录:该动作用于删除Oracle数据库指定表中的一行或多行数据,可通过指定过滤条件来选择需要删除的行。
  • 同步数据:该动作用于同步数据到指定Oracle数据表中。

    该动作需搭配定时器使用,并在Oracle中启动LogMiner

  • 自定义SQL:该动作用于使用原生SQL语句实现Oracle数据库的操作。

配置参数

  • 获取记录
    表1 获取记录配置参数

    参数

    说明

    表名

    选择或者填写要查询的数据库中的表名。

    字段名

    选择要查询数据表的字段名。若不填写,则返回全部字段。

    WHERE条件

    指定条件来过滤查询结果,例如:column_name='value'。支持=、!=、>、<、>=、<=、like、in、not in、is null、is not null操作符。

    Order by字段

    指定一个或多个列来对查询结果进行排序,例如:id DESC。

    Limit条数

    限制返回结果的行数,例如:100。

    Offset偏移量

    指定从第几行开始返回数据,例如:15。

    数据结构

    配置结果的输出字段,在选择数据库表时会自动生成。可手动进行修改。

    表2 获取记录输出

    参数

    说明

    Payload

    返回json格式行数据。键表示数据库字段名称,值表示数据库字段值。每行数据以逗号拼接。Payload说明详见引用变量

    Selected Count

    返回查询结果的行数。Property说明详见引用变量

    例如:执行成功后,payload 值如下:

    [
        {
            "Product_Id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
            "Created_Time": "2024-11-29T15:06:09Z",
            "Product_Price": 1299,
            "Product_Name": "Product A",
            "Product_Desc": "Product A"
        },
        {
            "Product_Id": "c3d7b1b7-4cd1-4d72-b1b8-7d38e1a1fe5a",
            "Created_Time": "2024-11-29T15:06:38Z",
            "Product_Price": 1099,
            "Product_Name": "Product C",
            "Product_Desc": "Product C"
        }
    ]
  • 添加记录
    表3 添加记录配置参数

    参数

    说明

    表名

    选择或者填写数据库中要插入数据的表名。

    插入数据

    填写插入操作中目标字段的值(注意值要用英文单引号包住)。

    数据结构

    配置结果的输出字段,在选择数据库表时会自动生成。在添加记录中无含义。

    表4 添加记录输出

    参数

    说明

    Updated Count

    返回插入结果的行数。Property说明详见引用变量

  • 更新记录
    表5 更新记录配置参数

    参数

    说明

    表名

    选择或者填写数据库中要更新数据的表名。

    更新数据

    填写更新操作中目标字段的值。

    WHERE条件

    指定条件以选择需要更新的行。例如:column_name='value'。支持=、!=、>、<、>=、<=、like、in、not in、is null、is not null操作符。

    数据结构

    配置结果的输出字段,在选择数据库表时会自动生成。在更新记录中无含义。

    表6 更新记录输出

    参数

    说明

    Updated Count

    返回更新结果的行数。Property说明详见引用变量

  • 增量获取记录
    表7 增量获取记录配置参数

    参数

    说明

    表名

    选择或者填写要增量获取记录的数据库中的表名。

    字段名

    选择要查询数据表的字段名。

    WHERE条件

    指定条件来过滤查询结果,例如:column_name='value'。支持=、!=、>、<、>=、<=、like、in、not in、is null、is not null操作符。

    Order by字段

    指定一个或多个列来对查询结果进行排序,例如:id DESC。

    增量获取时区

    增量数据获取开始时区。

    增量获取时间戳字段

    增量数据获取的时间戳字段。所选字段需为'time'或'timestamp'类型。

    增量获取时间戳初始值

    增量数据获取的时间戳初始值。

    重置增量获取时间初始值

    是否开启重置增量获取时间初始值。未开启则从当前时间开始获取。

    增量获取时间补偿(毫秒)

    设置扩展的时间范围(单位:毫秒),用于避免遗漏可能延迟到达的记录。

    数据结构

    配置结果的输出字段,在选择数据库表时会自动生成。可手动进行修改。

    表8 增量获取记录输出

    参数

    说明

    Payload

    返回json格式行数据。键表示数据库字段名称,值表示数据库字段值。每行数据以逗号拼接。Payload说明详见引用变量

    增量获取记录示例:

    定时器(每天触发)→ Oracle(增量获取记录)→ 日志采集

  • 删除记录
    表9 删除记录配置参数

    参数

    说明

    表名

    选择或者填写数据库中要删除数据的表名。

    WHERE条件

    指定条件以选择需要删除的行。例如:column_name='value'。支持=、!=、>、<、>=、<=、like、in、not in、is null、is not null操作符。

    数据结构

    配置结果的输出字段,在选择数据库表时会自动生成。在删除记录中无含义。

    表10 删除记录输出

    参数

    说明

    Updated Count

    返回删除结果的行数。Property说明详见引用变量

  • 同步数据
    表11 同步数据配置参数

    参数

    说明

    表名

    选择或者填写数据库中要同步数据的表名。

    支持选择多个表。

    清空表

    每次同步数据,是否先清空表。

    表12 同步数据输出

    参数

    说明

    Payload

    返回json格式行数据。键表示数据库字段名称,值表示数据库字段值。每行数据以逗号拼接。Payload说明详见引用变量

    该动作可适用于以下场景:

    1. 从数据库获取流数据并将其保存到另一个数据库,目标表名应该与源表名相同:

      oracle“获取数据库变更”动作 → oracle“同步数据”动作;

      定时器 任意触发动作 → oracle“增量获取记录”动作 → oracle“同步数据”动作。

    2. 从数据库获取流数据并将其保存到另一个数据库,目标表名应该与源表名不同,通过“数据映射”处理器完成表名映射:

      oracle“获取数据库变更”动作 → 数据映射 → oracle“同步数据”动作;

      定时器 任意触发动作 → oracle“增量获取记录”动作 → 数据映射 → oracle“同步数据”动作。

  • 自定义SQL
    表13 自定义SQL配置参数

    参数

    说明

    执行语句

    执行语句内容会明文展示所输入信息,防止信息泄露。仅支持执行一条select、update、insert或delete语句。select语句最多返回500条数据。

    表14 自定义SQL输出

    参数

    说明

    Payload

    返回json格式行数据。键表示数据库字段名称,值表示数据库字段值。每行数据以逗号拼接。Payload说明详见引用变量

    Updated count

    更新数据行数

    Selected count

    查询数据行数

    Start time

    节点执行开始时间。

    End time

    节点执行结束时间。

    Execution time

    节点执行耗时,单位:ms。