结构同步

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

数据管理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. 在顶部菜单栏中,选择数据库开发 > 结构变更 > 结构同步

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 结构变更 > 结构同步

  3. 库表同步工单申请页面,配置工单信息。部分信息说明如下:

    参数

    说明

    来源库

    1. 搜索并选择结构同步来源库。

    2. 可选:选择表结构的版本号,默认为最新的表结构。关于表结构版本号,请参见管理表结构版本

    目标库

    1. 搜索并选择结构同步目标库。

    2. 可选:选择表结构的版本号,默认为最新的表结构。关于表结构版本号,请参见管理表结构版本

    同步的表

    选择需要同步的表:

    • 部分表:选择需要同步的源表,并填写源表同步后的目标表名,若不填目标表名则默认目标表名与源表名一致。

    • 全部表:同步来源库中所有的表。

    是否忽略报错

    选择是否忽略报错:

    • 不忽略:在执行过程中,遇到出错则中断后面的SQL脚本,不再执行。

    • 忽略:在执行过程中,即使遇到错误仍会跳过当前失败SQL脚本,继续往下执行,直至所有SQL脚本都执行完成。

      警告

      忽略报错可能会导致跳过执行部分DDL语句,同步结果不符合预期,请谨慎选择。

  4. 单击提交申请

    系统自动进行表结构分析。

    说明

    若数据结构在此过程中发生变更,请在工单中单击重新分析

  5. 单击提交审批,等待审批通过。

  6. 审批通过后,单击提交,同步目标库

  7. 确认待执行的SQL脚本,单击确认进行同步

    说明

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

    同步任务开始后,系统将执行同步脚本,您可以单击详情按钮,查看执行日志详细,包括执行语句、执行所用时间、调度详情等信息。

  8. 当出现同步完成时,表示该来源库的表结构已成功同步至目标库中。