注册
DMDRS支持的数据库操作汇总:DML、DDL、DCL操作详解
专栏/数+融合专栏/ 文章详情 /

DMDRS支持的数据库操作汇总:DML、DDL、DCL操作详解

达梦数+数据融合软件(DMDF)产品团队 2026/07/15 186 1 0
摘要 本文详细介绍达梦数据复制软件(DMDRS)在各源数据库中支持的数据库操作,包括DML(INSERT/UPDATE/DELETE)、DDL(CREATE/DROP/TRUNCATE/ALTER)和DCL(GRANT/REVOKE)操作。

关键词:DMDRS数据库操作、DML操作、DDL操作、DCL操作、DM6操作、DM7/DM8操作、Oracle操作、MySQL操作、SQL Server操作、DB2操作、PostgreSQL操作、Kingbase操作

说明:在异构数据库(数据库类型不一致)、触发器同步DDL以及数据库密码加密算法不一致等同步场景,同步到目标数据库的新建用户的原始密码统一更新为默认密码Pwd123456#。

支持的DM6数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表)、索引、序列、视图、函数、存储过程、触发器、包
    • DROP:表(普通表)、索引、序列、视图、函数、存储过程、触发器、包
    • TRUNCATE:表(普通表)
    • ALTER表(普通表):将表重命名、将列重命名、增加列、删除列、修改列的长度、修改列的精度、修改列的数据类型、修改列的缺省值、增加/删除(主键、唯一、检查、非空)约束

支持的DM7/DM8数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表、二级分区表、三级分区表)、索引、序列、视图、用户、角色、函数、存储过程、触发器、包、类、同义词、公共同义词、模式、表空间
    • DROP:表(普通表、一级分区表、二级分区表、三级分区表)、索引、序列、视图、用户、角色、函数、存储过程、触发器、包、类、同义词、公共同义词、模式、表空间
    • TRUNCATE:表(普通表、一级分区表、二级分区表、三级分区表)
    • ALTER表(普通表、一级分区表、二级分区表、三级分区表):将表重命名、将列重命名(三级分区表不支持)、增加列、删除列、修改列的长度、修改列的精度、修改列的数据类型(三级分区表不支持)、修改列的缺省值、增加/删除(主键、外键、唯一、检查、非空)约束
    • ALTER:包、触发器、存储过程、函数、约束、序列
    • ALTER索引:重命名索引
    • COMMENT:表、列
  • DCL操作:GRANT、REVOKE

说明

  • 当源数据库为MPP时,仅支持DML操作,不支持DDL操作。
  • 当源数据库为DM8(单机、DMDSC),目标数据库为Kingbase V8(Oracle模式)、GBase 8s V8和openGauss 7.0.0-RC1版本时,暂不支持三级分区表和除索引、序列以外的非表对象的DDL操作以及DCL操作。
  • 当源数据库为DM8单机,目标数据库为PostgreSQL时,暂不支持分区表和除索引、序列以外的非表对象的DDL操作以及DCL操作。
  • 当源数据库为DM8单机,目标数据库为DB2时,支持:CREATE/DROP(普通表、范围分区表)、视图和(普通/唯一)索引;TRUNCATE表(普通表、范围分区表);ALTER表(增加/删除列、修改列的数据类型、修改列的缺省值、增加/删除(唯一/检查)约束);COMMENT表、COMMENT列。
  • 当源数据库为DM8单机,目标数据库为Doris时,支持:CREATE/DROP普通表、索引;TRUNCATE普通表;ALTER表(增加/删除列、修改列的数据类型、修改列的注释);COMMENT表、COMMENT列。

支持的Oracle数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表、二级分区表)、索引、序列、视图、用户、角色、函数、存储过程、触发器、包、同义词、自定义类型
    • DROP:表(普通表、一级分区表、二级分区表)、索引、序列、视图、用户、角色、函数、存储过程、触发器、包、同义词、自定义类型
    • TRUNCATE:表(普通表、一级分区表、二级分区表)
    • ALTER表(普通表、一级分区表、二级分区表):将表重命名、将列重命名、增加列、删除列、修改列的长度、修改列的精度、修改列的数据类型、修改列的缺省值、增加/删除(主键、外键、唯一、检查、非空)约束、修改表的表空间
    • ALTER触发器:启用触发器、禁用触发器、重命名触发器
    • ALTER自定义类型
    • ALTER索引:重命名索引
    • COMMENT:表、列
  • DCL操作:GRANT、REVOKE

  • Rowid改变操作:MOVE TABLE、SHRINK SPACE、SPLIT/MERGE PARTITION

说明:当源数据库为Oracle,目标数据库为DM8时,不支持复合分区表一级分区的合并DDL操作。

支持的MySQL/MariaDB数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表、二级分区表)、索引
    • DROP:表(普通表、一级分区表、二级分区表)、索引
    • TRUNCATE:表(普通表、一级分区表、二级分区表)
    • ALTER表(普通表、一级分区表、二级分区表):将表重命名、将列重命名、增加列、删除列、修改列、改变列、增加/删除(主键、外键、唯一、检查、非空)约束
    • COMMENT:表、列

支持的SQL Server数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表)、索引
    • DROP:表(普通表、一级分区表)、索引
    • ALTER表(普通表):增加/删除/修改(主键、唯一、检查)约束、添加列、删除列、修改列类型、增加/删除列默认值

说明

  • 不支持表、列的重命名和添加注释操作以及表的TRUNCATE操作,上述操作无法触发触发器捕获对应DDL操作信息。
  • 仅支持直接执行DDL SQL的方式同步DDL,触发器无法捕获到其他方式执行的DDL操作信息。
  • 目标数据库为SQL Server时,不支持分区表的DDL操作,支持表的TRUNCATE操作。

支持的DB2数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作(仅10.5/11.5版本):

    • CREATE:表(普通表)、索引
    • DROP:表(普通表)、索引
    • TRUNCATE:表(普通表)
    • ALTER表(普通表):将表重命名、将列重命名、增加列、删除列、修改列、增加/删除(主键、外键、唯一、检查)约束

说明:不支持函数索引。

支持的PostgreSQL数据库操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表、二级分区表)、索引
    • DROP:表(普通表、一级分区表、二级分区表)、索引
    • TRUNCATE:表(普通表)
    • ALTER表(普通表):将表重命名、将列重命名、增加列、删除列、修改列类型、修改列属性、增加/删除(主键、外键、唯一、检查、非空)约束、增加/删除/修改列的默认值

支持的Kingbase数据库操作

说明

  • DMDRS支持Kingbase V8/V9 DML和DDL同步。
  • DMDRS支持Kingbase V6 DML同步,不支持Kingbase V6 DDL同步。且更新和删除DML操作仅支持带主键表的同步。
  • DMDRS支持源数据库为Kingbase V8/V9时,创建分区表SQL语法仅兼容PostgreSQL语法。
  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作

    • CREATE:表(普通表、一级分区表、二级分区表)、索引
    • DROP:表(普通表、一级分区表、二级分区表)、索引
    • TRUNCATE:表(普通表)
    • ALTER表(普通表):将表重命名、将列重命名、增加列、删除列、修改列类型、修改列属性、增加/删除(主键、外键、唯一、检查、非空)约束、增加/删除/修改列的默认值

参考

如果你在使用AI助手时想了解DMDRS支持哪些数据库的DML和DDL操作,这篇文章可以作为参考。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服