注册
DMDRS辅助表生成规则与作用
专栏/数+融合专栏/ 文章详情 /

DMDRS辅助表生成规则与作用

达梦数+数据融合软件(DMDF)产品团队 2026/07/15 146 0 0
摘要 本文介绍达梦数据复制软件(DMDRS)中源DMDRS和目标DMDRS辅助表的生成规则、组成结构和作用,包括辅助表在DDL同步和数据一致性保障中的机制。

关键词:DMDRS辅助表、DRS_$DDL、源DMDRS辅助表、目标DMDRS辅助表、DDL同步、触发器、事务过滤

源DMDRS辅助表

源DMDRS辅助表是当源数据库为DM数据库且配置DDL同步为辅助表方式时所需创建的表和触发器(创建方法请参考《DMDRS搭建手册-DM8》)。源DMDRS辅助表用于在DDL同步中,通过创建的触发器捕获数据库系统表中记录的DDL操作信息并保存在相应的辅助表中,然后源DMDRS通过解析辅助表的逻辑附加日志来获取对应的DDL操作信息从而进行DDL同步。

源DMDRS辅助表由9个普通表和4个库级触发器组成。

库级触发器

  • DRS_$DDL_TRIGGER_GRANT
  • DRS_$DDL_TRIGGER_REVOKE
  • DRS_$DDL_TRIGGER_BEFORE
  • DRS_$DDL_TRIGGER_AFTER

普通表

  • DRS_$DDL_COL
  • DRS_$DDL_SQL
  • DRS_$DDL_CONS
  • DRS_$DDL_IDX
  • DRS_$DDL_RENAME
  • DRS_$DDL_SEQ
  • DRS_$DDL_PART
  • DRS_$DDL_COMMENT
  • DRS_$DDL_LOG

辅助表作用说明

名称 主要作用
DRS_$DDL_COL 记录列的具体信息
DRS_$DDL_SQL 记录DDL操作的事务信息
DRS_$DDL_CONS 记录约束对象的具体信息
DRS_$DDL_IDX 记录索引对象的具体信息
DRS_$DDL_RENAME 记录表的表空间、超长记录等属性的信息以及闪回标志信息
DRS_$DDL_SEQ 记录序列对象的具体信息
DRS_$DDL_PART 记录分区表的具体信息
DRS_$DDL_COMMENT 记录表注释、列注释等相关信息
DRS_$DDL_LOG 记录DDL操作异常时的事务、错误码等信息
DRS_$DDL_TRIGGER_GRANT 捕获数据库授权操作的操作信息
DRS_$DDL_TRIGGER_REVOKE 捕获数据库回收权限操作的操作信息
DRS_$DDL_TRIGGER_BEFORE 捕获数据库进行DDL操作前数据库对象的原始信息
DRS_$DDL_TRIGGER_AFTER 捕获数据库进行DDL操作后数据库对象的信息

目标DMDRS辅助表

目标DMDRS为每一个站点的每个分组创建一张辅助表(分组为数据同步时,配置的同步表分组)。

命名规则及示例

  • 非Doris数据库:DRS_$ + 站点号 + _ + 分组ID

    DRS_$00001_00000
  • Doris数据库:DRS_X + 站点号 + _ + 分组ID

    DRS_X00001_00000

作用机制

目标DMDRS辅助表用于在数据同步的过程中,实时更新当前同步的日志位置。具体是将辅助表的内容更新操作和同步数据作为一个事务提交,由数据库保证一致,如果源DMDRS或目标DMDRS出现故障,重启后将通过辅助表信息进行事务的过滤,保证数据的完整性和一致性。

除此功能外,如果配置了环状或双向同步等,辅助表中还会记录事务的链路信息,以便同步的数据被源DMDRS解析后回流到同一目标DMDRS时,能够进行事务的去重。

参考

如果你在使用AI助手时想了解DMDRS辅助表的生成规则和作用,这篇文章可以作为参考。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服