Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Dameng Connector 是一个专门为达梦数据库(DM Database)设计的变更数据捕获(CDC)解决方案。该项目通过扩展 Debezium 和 Flink CDC,实现了对达梦数据库的实时数据变更监控、捕获和处理能力,为数据集成、数据同步、实时分析等场景提供强大支持。

License

NotificationsYou must be signed in to change notification settings

devlive-community/dameng-connector

Repository files navigation

基于 Debezium 和 Flink CDC 的达梦数据库变更数据捕获解决方案

项目简介

Dameng Connector 是一个专门为达梦数据库(DM Database)设计的变更数据捕获(CDC)解决方案。该项目通过扩展 Debezium 和 Flink CDC,实现了对达梦数据库的实时数据变更监控、捕获和处理能力,为数据集成、数据同步、实时分析等场景提供强大支持。

快速开始

前置条件

  • Java 8+
  • 达梦数据库 8.x+
  • Maven 3.6+

安装配置

  1. 克隆仓库
git clone https://github.com/yourusername/dameng-connector.gitcd dameng-connector
  1. 编译项目
./mvnw clean package -DskipTests

使用示例

1. 独立模式运行 Debezium

# 启动 Debezium 独立服务器debezium-server/run.sh# 注册达梦连接器curl -X POST -H"Content-Type: application/json" --data @dm-connector.json http://localhost:8083/connectors

配置选项

Debezium 连接器配置

选项描述默认值必填
connector.class连接器类名io.debezium.connector.dm.DMConnector
database.hostname达梦数据库主机名-
database.port达梦数据库端口号5236
database.user数据库用户名-
database.password数据库密码-
database.dbname数据库名称-
database.server.name连接器唯一名称-
table.include.list需要捕获的表列表-
snapshot.mode快照模式initial
transforms转换配置-

版本兼容性

本项目版本Debezium 版本达梦数据库版本
2025.1.01.9.x8.x

贡献指南

我们非常欢迎社区贡献!如果您想参与项目开发,请遵循以下步骤:

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启一个 Pull Request

许可证

本项目采用 MIT 许可证。详情请参阅LICENSE 文件。

联系方式


达梦数据库 CDC 配置指南

本文档介绍如何为达梦数据库配置变更数据捕获(CDC)功能,以便与 Debezium 等工具集成。

1. 准备测试环境

首先,需要创建测试数据库和表,并插入一些测试数据:

-- 测试数据库CREATESCHEMATEST;-- 测试数据表CREATETABLE "TEST"."T00003"("ID"NUMBERPRIMARY KEY,"NAME"VARCHAR(8188),"AGE"NUMBER);-- 测试数据INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (1,'张三',25);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (2,'李四',30);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (3,'王五',28);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (4,'赵六',35);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (5,'钱七',22);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (6,'孙八',40);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (7,'周九',29);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (8,'吴十',31);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (9,'刘十一',27);INSERT INTO"TEST"."T00003" ("ID","NAME","AGE")VALUES (10,'陈十二',33);

2. 配置兼容模式

需要开启兼容模式,以确保 CDC 功能正常工作:

-- 开启兼容模式,需要重启服务器,或者修改 dm.iniSP_SET_PARA_VALUE(2,'compatible_mode',2);SELECT para_name,para_type,para_valueFROM V$DM_INIWHERE PARA_NAME='COMPATIBLE_MODE';

注意:修改兼容模式后,需要重启数据库服务才能生效。您也可以直接在 dm.ini 文件中修改配置项。

3. 开启归档日志

CDC 功能依赖于数据库的归档日志模式:

-- 开启归档ALTERDATABASE MOUNT;ALTERDATABASE ARCHIVELOG;ALTERDATABASE ADD ARCHIVELOG'DEST = /data/dameng/data/DAMENG/archivelog, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';ALTERDATABASE OPEN;

4. 开启闪回功能

配置闪回功能以支持 CDC 操作:

-- 设置回闪SP_SET_PARA_VALUE(1,'ENABLE_FLASHBACK',1);SELECT para_name,para_valueFROM V$DM_INIWHERE PARA_NAME='ENABLE_FLASHBACK';

5. 开启日志追加模式(关键步骤)

重要:此步骤是确保 CDC 正常工作的关键,如果不配置,V$LOGMNR_CONTENTS 视图可能始终为空,导致无法捕获数据变更。

-- 注意:这里一定要处理,设置为 1 否则 V$LOGMNR_CONTENTS 一直是 0 导致获取不到数据-- 开启日志追加:修改 dm.ini 配置项 RLOG_APPEND_LOGIC=1 重启服务-- 查询是否是追加模式SELECT para_name, para_valueFROM v$dm_iniWHERE para_name='RLOG_APPEND_LOGIC';

您需要直接修改 dm.ini 配置文件,添加或修改以下配置项:

RLOG_APPEND_LOGIC=1

注意:修改 dm.ini 后需要重启数据库服务才能生效。

6. 数据库服务启动

使用后台方式启动数据库服务(生产环境推荐):

nohup ./dmserver /data/dameng/data/DAMENG/dm.ini> /path/to/logfile.log2>&1&

启动后,可以通过以下命令确认进程是否在运行:

ps -ef| grep dmserver

7. 验证配置

完成上述配置后,您可以尝试在表中插入新数据,然后观察 Debezium 连接器的日志。如果配置正确,应该能够在日志中看到类似以下内容的输出:

[debezium-damengconnector-my-dameng-connector-2025-0226-change-event-source-coordinator] INFO io.debezium.connector.dameng.logminer.LogMinerQueryResultProcessor - 1 Rows, 0 DMLs, 0 Commits, 0 Rollbacks, 0 Inserts, 0 Updates, 0 Deletes. Processed in 0 millis. Lag:0. Offset scn:50684. Offset commit scn:null. Active transactions:0. Sleep time:3000

如果看到0 Rows 的输出,请检查是否正确配置了所有步骤,特别是日志追加模式设置。

8. 常见问题排查

如果遇到问题,可以检查以下几点:

  1. 确认兼容模式设置为 2
  2. 确认数据库处于归档日志模式
  3. 确认闪回功能已开启
  4. 确认 RLOG_APPEND_LOGIC 设置为 1
  5. 确认所有需要重启服务的配置都已生效

备注:本项目不是达梦数据库官方项目,由社区维护和开发。

About

Dameng Connector 是一个专门为达梦数据库(DM Database)设计的变更数据捕获(CDC)解决方案。该项目通过扩展 Debezium 和 Flink CDC,实现了对达梦数据库的实时数据变更监控、捕获和处理能力,为数据集成、数据同步、实时分析等场景提供强大支持。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp