tencent cloud

文档反馈

达梦 DM 数据源

最后更新时间:2024-11-01 16:54:35
    数据集成提供了达梦 DM 的单表读取和写入能力,本文为您介绍使用达梦 DM 进行实时数据同步的前置环境配置以及当前能力支持情况。

    支持版本

    目前数据集成已支持达梦 DM 单表实时读取和写入,使用实时同步能力需遵循以下版本限制:
    类型
    版本
    达梦DM
    7、8

    使用限制

    目前仅支持单表实时读取和写入,不支持整库任务。
    仅支持 At-least-once 语义,需要依赖目标端去重能力保证数据唯一性。
    DM 作为目标端时不支持根据源表结构一键创建 DM 目标端表结构,需提前在 DM 数据库建好目标表。

    数据库环境准备

    开启归档模式

    1. 使用如下语句核对 ARCH_INI 和 RLOG_APPEND_LOGIC 参数是否正确设置,保证数据库已开启归档模式:
    select para_name, para_value
    from v$dm_ini
    where para_name in ('ARCH_INI','RLOG_APPEND_LOGIC');
    2. 若显示参数为0,则需要按照如下步骤设置归档模式及修改参数。
    2.1 修改 dm.ini 中的参数,如下:
    ARCH_INI = 1
    RLOG_APPEND_LOGIC = 1
    2.2 dmarch.ini 需要配置本地归档,举例如下:
    [ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = d:\\dmdbms\\arch
    ARCH_FILE_SIZE = 128 #单位Mb
    ARCH_SPACE_LIMIT = 0 #单位Mb,0 表示无限制,范围1024~4294967294M
    ARCH_INI和RLOG_APPEND_LOGIC
    2.3 参数说明如下:
    
    
    

    开启自动事务提交

    大多数数据库管理工具,默认情况下,是开启了自动事务提交的,即执行了一句 Select 、Insert 、Delete 、Update 之后会自动执行 commit 操作。但达梦数据库管理工具不会,无论是命令行工具 disql,还是可视化管理工具都是默认执行了不会自动提交的,需要手动提交 commit 操作。
    方式1:管理工具菜单选择窗口 > 选项,单击查询分析器,勾选自动提交
    
    
    
    方式2:SQL 命令方式。
    临时修改可以通过如下方式配置,下面为官方文档说明:
    1. 设置当前 session 是否对修改的数据进行自动提交。
    ON:表示打开自动提交,所有执行的 SQL 语句的事务将自动进行提交。
    OFF:表示关闭自动提交,所有执行的 SQL 语句的事务将由用户显式提交,为默认设置。
    SET AUTO[COMMIT] <ON|OFF>

    权限授予

    grant create session to my_user;
    grant select on all_users to my_user ;
    grant select on all_objects to my_user ;
    grant select on all_tab_cols to my_user ;
    grant select on all_indexes to my_user ;
    grant select on dba_objects to my_user ;
    grant select on V$LOGMNR_CONTENTS to my_user ;
    grant select on V$ARCHIVED_LOGS to my_user ;

    单表读取节点配置

    
    
    
    参数
    描述
    数据来源
    选择达梦 DM 数据源。
    支持选择或者手动输入需读取的库名称。
    默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
    当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
    Schema
    支持选择或者手动输入需读取该数据源下可用的 Schema。
    支持选择或者手动输入需读取的表名称。
    分表情况下,可在达梦 DM 源端支持选择或输入多个表名称,多个表需保证结构一致。
    分表情况下,支持配置表序号区间。例如 'table_[0-99]' 表示读取 'table_0'、'table_1'、'table_2' 直到 'table_99' ; 如果您的表数字后缀的长度一致,例如 'table_000'、'table_001'、'table_002' 直到 'table_999',您可以配置为 '"table": ["table_00[0-9]", "table_0[10-99]", "table_[100-999]"]' 。
    当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。
    添加分库分表
    适用于分库场景,单击后可配置多个数据源、库及表信息。分库分表场景下需保证所有表结构一致,任务配置将默认展示并使用第一个表结构进行数据获取。
    表主键
    选择一个字段作为写入表的主键。
    读取模式
    全量 + 增量:数据同步分为全量和增量同步阶段,全量阶段完成后任务进入增量阶段。全量阶段将同步库内历史数据,增量阶段从任务启动后 binlog cdc 的位点开始同步。
    仅增量:仅从任务启动后的 binlog cdc 位点开始同步数据。
    参数(选填)
    可根据业务需求配置参数。

    实时单表写入节点配置

    
    
    
    参数
    说明
    数据去向
    需要写入的达梦 DM 数据源。
    支持选择、或者手动输入需写入的库名称
    默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。
    当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
    Schema
    支持选择、或者手动输入需要写入的 达梦 DM 数据模式。
    当数据源网络不联通导致无法直接拉取 Schema 信息时,可手动输入 Schema 名称。在数据集成网络连通的情况下,仍可进行数据同步。
    支持选择、或者手动输入需写入的表名称。
    当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。
    高级设置(选填)
    可根据业务需求配置参数。

    支持的数据类型

    读取

    达梦 DM 读取支持的数据类型及转换对应关系如下(在处理达梦 DM 时,会先将达梦 DM 数据源的数据类型和数据处理引擎的数据类型做映射):
    DM 类型
    内部类型
    备注
    INT
    INT
    
    TINYINT
    TINYINT
    TINYINT(1) 映射到 BOOLEAN
    需要增加选项支持 TINYINT(1) 可以映射到 bool 或者 tinyint
    SMALLINT
    SMALLINT
    
    BIGINT
    Long
    
    REAL
    DOUBLE
    
    FLOAT
    FLOAT
    
    DOUBLE
    DOUBLE
    
    DECIMAL
    DECIMAL
    采用用户数据库实际的精度 p<=38 映射到 DECIMAL 38 < p <= 65 时映射到 String
    CHAR
    STRING
    
    VARCHAR
    STRING
    
    TEXT
    STRING
    
    DATE
    DATE
    
    TIMESTAMP
    TIMESTAMP
    

    写入

    达梦 DM 写入支持的数据类型及转换对应关系如下:
    内部类型
    DM 类型
    INT
    INT,NUMBER,INTEGER
    TINYINT
    TINYINT(3)
    SMALLINT
    SMALLINT
    BIGINT
    BIGINT
    FLOAT
    FLOAT
    DOUBLE
    REAL,DOUBLE,DECIMAL,DOUBLE PRECISION
    BOOLEAN
    BIT(1)
    CHAR
    CHARACTER(1)
    VARCHAR
    VARBINARY,BYTE,VARCHAR(8188),VARCHAR2(8188),LONGVARCHAR(2147483647)
    TEXT
    CLOB,BINARY,TIME WITH TIME ZONE
    TINYTEXT
    TIME
    DATE
    DATE,DATETIME,DATETIME WITH TIME ZONE
    TIMESTAMP
    TIMESTAMP,TIMESTAMP WITH LOCAL TIME ZONE
    BLOB
    BLOB,IMAGE,LONGVARBINARY
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持