更新目标库的Sequence值

本文为您介绍如何使用数据传输服务DTS(Data Transmission Service)更新同步或迁移实例目标库中的Sequence值。

背景信息

Sequence(序列)是数据库中的一种特殊对象,用于生成一组唯一的递增或递减的数字,这些数字通常用于表中的主键值。为避免在数据同步或迁移到目标数据库后,由于Sequence变更而导致的主键冲突问题,可以使用Sequence值的调整功能。该功能支持获取源数据库当前Sequence的值,并添加一个偏移量后应用到目标库。

例如,源数据库中一个Sequence的当前值为12345,使用Sequence值的调整功能指定偏移量为10000,DTS会将目标数据库中对应Sequence的值更新为22345。

支持的链路

说明

表格中的PostgreSQL包含RDS PostgreSQL实例和自建PostgreSQL数据库。

源库

目标库

相关文档

PostgreSQL

PostgreSQLPolarDB(兼容Oracle)PolarDB for PostgreSQL

PolarDB for PostgreSQL

PostgreSQLPolarDB for PostgreSQL

PolarDB(兼容Oracle)

PolarDB(兼容Oracle)

Oracle

PolarDB(兼容Oracle)

前提条件

目标实例需同时满足以下条件:

  • 实例需为包含增量任务的同步或迁移实例。

  • 实例已进入增量迁移增量同步阶段。

  • 实例的运行状态运行中已暂停

注意事项

  • 双向同步实例不支持此功能。

  • DTS默认会更新目标库中与源库同名Sequence的值,不支持更新指定Sequence的值。

  • 若在更新目标库中的Sequence值后源库有增量数据写入,可能会导致目标库中的Sequence值不符合预期。

操作步骤

  1. 进入目标地域的任务列表页面(二选一)。

    通过DTS控制台进入

    1. 登录数据传输服务DTS控制台

    2. 在左侧导航栏,单击数据同步数据迁移

    3. 在页面左上角,选择实例所属地域。

    通过DMS控制台进入

    说明

    实际操作可能会因DMS的模式和布局不同,而有所差异。更多信息,请参见极简模式控制台自定义DMS界面布局与样式

    1. 登录DMS数据管理服务

    2. 在顶部菜单栏中,选择集成与开发 > 数据传输(DTS) > 数据同步集成与开发 > 数据传输(DTS) > 数据迁移

    3. 同步任务迁移任务右侧,选择实例所属地域。

  2. 找到目标实例,并单击实例ID。

  3. 更新目标库的Sequence值。

    1. 任务管理页面,单击增量写入模块。

    2. 基本信息页签,单击同步Sequence

    3. 在弹出的对话框,设置Sequence 偏移量

    4. 在对话框下方,单击同步

  4. 查看结果。

    任务完成后,将会出现同步成功的提示,并显示任务执行前后的Sequence值。

  5. 单击关闭