数据管理DMS的结构同步功能支持对比不同数据库、指定表之间的表结构,产生差异化脚本并执行到目标数据库。适用于对比、同步多套数据库环境的表结构,例如生产库与测试库、不同的测试库、不同的生产库等。

前提条件

  • 支持的数据库类型如下:
    • MySQL:RDS MySQLPolarDB MySQL版MyBase MySQLPolarDB分布式版AnalyticDB MySQL 3.0、其他来源MySQL
    • SQL Server:RDS SQL ServerMyBase SQL Server、其他来源SQL Server
    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL版MyBase PostgreSQLAnalyticDB PostgreSQL版、其他来源PostgreSQL
    • MariaDB:RDS MariaDB、其他来源MariaDB
    • OceanBase MySQL模式
    • PolarDB PostgreSQL版(兼容Oracle)
  • 目标库已打开开启执行能力开关,更多信息,请参见开启执行能力
    说明 若未开启,库表同步仅能对比表结构差异,无SQL执行能力。
  • 拥有来源库的查询权限。更多信息,请参见查看我的权限
  • 拥有目标库的变更权限。更多信息,请参见查看我的权限

功能概述

结构同步功能会将源库的表结构同步至目标库(不同步数据):

  • 若目标库中不存在待同步的表,系统会在目标库中创建该表。
  • 若目标库中已存在待同步的表(同名),系统将会在目标表中新增、删除不一致的字段(同时删除数据),实现表结构一致。由于可能删除不一致的字段与数据,请谨慎操作。
说明 结构同步功能不会删除目标库中与源库不一致的表。

操作步骤

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