数据管理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脚本都执行完成。
业务背景(备注) 描述项目的业务背景信息,例如变更目的、预期目标等。 - 单击提交申请。系统自动进行表结构分析。说明 若数据结构在此过程中发生变更,请在工单中单击重新分析。
- 单击提交审批,等待审批通过。
- 单击提交,同步目标库。
- 确认待执行的SQL脚本,单击确认进行同步。说明 同步的完成时间和表的数量、任务队列等多种因素有关,请尽量在业务低峰期执行同步操作。同步任务开始后,系统将执行同步脚本,您可以单击详情按钮,查看执行日志详细,包括执行语句、执行所用时间、调度详情等信息。