数据管理DMS的结构同步功能支持对比不同数据库、指定表之间的表结构,产生差异化脚本并执行到目标数据库。适用于对比、同步多套数据库环境的表结构,例如生产库与测试库、不同的测试库、不同的生产库等。
前提条件
支持的数据库类型如下:
MySQL:RDS MySQL、PolarDB MySQL版、MyBase MySQL、PolarDB分布式版、AnalyticDB MySQL 3.0、其他来源MySQL
SQL Server:RDS SQL Server、MyBase SQL Server、其他来源SQL Server
PostgreSQL:RDS PostgreSQL、PolarDB PostgreSQL版、MyBase PostgreSQL、AnalyticDB PostgreSQL版、其他来源PostgreSQL
MariaDB:RDS MariaDB、其他来源MariaDB
OceanBase MySQL模式
PolarDB PostgreSQL版(兼容Oracle)
目标库已打开开启执行能力开关,更多信息,请参见开启执行能力。
说明若未开启,库表同步仅能对比表结构差异,无SQL执行能力。
拥有来源库的查询权限。更多信息,请参见查看我的权限。
拥有目标库的变更权限。更多信息,请参见查看我的权限。
功能概述
结构同步功能会将来源库的表结构同步至目标库(不同步数据):
若目标库中不存在待同步的表,系统会在目标库中创建该表。
若目标库中已存在待同步的表(同名),系统将会在目标表中新增、删除不一致的字段(同时删除数据),实现表结构一致。由于可能删除不一致的字段与数据,请谨慎操作。
结构同步功能不会删除目标库中与源库不一致的表。
操作步骤
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择 。
说明若您使用的是极简模式的控制台,请单击控制台左上角的图标,选择
。在库表同步工单申请页面,配置工单信息。部分信息说明如下:
参数
说明
来源库
搜索并选择结构同步来源库。
可选:选择表结构的版本号,默认为最新的表结构。关于表结构版本号,请参见管理表结构版本。
目标库
搜索并选择结构同步目标库。
可选:选择表结构的版本号,默认为最新的表结构。关于表结构版本号,请参见管理表结构版本。
同步的表
选择需要同步的表:
部分表:选择需要同步的源表,并填写源表同步后的目标表名,若不填目标表名则默认目标表名与源表名一致。
全部表:同步来源库中所有的表。
是否忽略报错
选择是否忽略报错:
不忽略:在执行过程中,遇到出错则中断后面的SQL脚本,不再执行。
忽略:在执行过程中,即使遇到错误仍会跳过当前失败SQL脚本,继续往下执行,直至所有SQL脚本都执行完成。
警告忽略报错可能会导致跳过执行部分DDL语句,同步结果不符合预期,请谨慎选择。
单击提交申请。
系统自动进行表结构分析。
说明若数据结构在此过程中发生变更,请在工单中单击重新分析。
单击提交审批,等待审批通过。
审批通过后,单击提交,同步目标库。
确认待执行的SQL脚本,单击确认进行同步。
说明同步的完成时间和表的数量、任务队列等多种因素有关,请尽量在业务低峰期执行同步操作。
同步任务开始后,系统将执行同步脚本,您可以单击详情按钮,查看执行日志详细,包括执行语句、执行所用时间、调度详情等信息。
当出现同步完成时,表示该来源库的表结构已成功同步至目标库中。