数据管理DMS的结构同步功能支持对比不同数据库之间的表结构(也支持指定表),产生差异化脚本并执行到目标数据库。本文介绍结构同步的功能与操作步骤。

功能概述

结构同步功能会将源库的表结构同步至目标库(不会同步数据)。
  • 若目标库中不存在待同步的表,系统会在目标库中创建该表。
  • 若目标库中已存在待同步的表(同名),系统将会在目标表中新增、删除不一致的字段,实现表结构一致。
    警告 删除表的字段时,会删除该字段的数据。
  • 同步过程中,不会删除目标库中不一致的表。

该功能适用于对比、同步多套数据库环境的表结构,例如生产库与测试库、不同的测试库、不同的生产库等。

同步的完成时间和表的数量、任务队列等多种因素有关,请尽量在业务低峰期执行同步操作。

前提条件

  • 数据库实例已录入至DMS中,更多信息,请参见云数据库录入
  • 数据库为如下引擎:
    • MySQL系列:自建MySQL、RDS MySQL、PolarDB MySQL、PolarDB-X、AnalyticDB MySQL、OceanBase MySQL
    • SQL Server系列:自建SQL Server、RDS SQL Server
    • PostgreSQL系列:PostgreSQL、PolarDB PostgreSQL、AnalyticDB PostgreSQL
    • PolarDB-O
    • MariaDB
  • 目标库已打开开启执行能力开关,更多信息,请参见开启执行能力
    说明 若未开启,库表同步仅能对比表结构差异,无SQL执行能力。

操作步骤

  1. 登录新版DMS控制台
  2. 在页面顶部,选择全部功能 > 库表结构 > 结构同步
  3. 库表同步工单申请页中,参考下表配置参数。
    参数 说明
    来源库 输入结构同步来源库,并选择表结构的版本号(此操作可选,默认为最新的表结构,关于表结构版本号的更多信息,请参见管理表结构版本)。
    说明 您需要有该库的查询(读)权限。
    目标库 输入结构同步目标库。
    说明
    • 您需要有该库的变更(写)权限。
    • 当您输入目标库的表结构版本号时,该工单仅会对比两个库之间的表结构。
    同步的表 选择需要同步的表,支持的选项:
    • 部分表:可快捷选择部分表,若不填目标表名则默认与源表名一致。
    • 全部表
    是否忽略报错 选择是否忽略报错,支持的选项:
    • 不忽略:在执行过程中,遇到出错则中断后面的SQL脚本,不再执行。
    • 忽略:在执行过程中,即使遇到错误仍会跳过当前失败SQL脚本,继续往下执行,直至所有SQL脚本都执行完成。
    业务背景(备注) 描述项目的业务背景信息,例如变更目的、预期目标等。
  4. 单击提交申请
    系统将进行结构分析。
    说明 若数据结构在此过程中发生变更,请在工单中单击重新分析
  5. 单击提交审批,等待审批通过。
  6. 单击提交,同步目标库
  7. 确认待执行的SQL脚本,单击确认进行同步
    单击后,系统将开始执行同步脚本,您可以单击详情按钮,查看执行日志详细,包括执行语句、执行所用时间、调度详情等信息。