文档首页> 数据复制服务 DRS> 快速入门> 实时同步> 出云同步使用须知> GaussDB(for openGauss)主备版->GaussDB(DWS)
更新时间:2022-05-25 GMT+08:00
分享

GaussDB(for openGauss)主备版->GaussDB(DWS)

操作要求

针对一些无法预知或人为因素及环境突变导致同步失败的情况,数据复制服务提供以下常见的操作限制,供您在同步过程中参考。
表1 操作要求

类型名称

操作限制(需要人为配合)

注意事项

  • 表 环境要求中的环境要求均不允许在同步过程中修改,直至同步结束。
  • 不建议在数据库中使用非精确数值类型做主键,该特性影响 DRS 增量场景下对 UPDATE、DELETE语句的同步,同时也会导致内容比对不可用。
  • 一个同步任务只能对一个数据库进行数据同步,如果一个GaussDB(for openGauss)实例下有多个数据库需要同步,则需要为每个数据库创建实时同步任务。

操作须知

  • 实时同步过程中,受限于GaussDB(for openGauss)逻辑复制功能,不支持DDL语句的同步。一般情况下,不建议同步过程中进行DDL操作。
  • 对于同步中的数据库对象,在同步期间,目标库不能进行写入操作,否则会导致数据不一致。
  • 实时同步过程中,修改源库的用户名、密码、IP和端口,可能会导致同步任务失败。
  • 同步仅支持同步表数据、表结构和索引,同步前需要用户在目标库手动建表。

环境要求

实时同步对环境有一些特定的要求,请确保环境配置满足以下条件。该类型的要求系统会自动检查,并给出处理建议。
表2 环境要求

类型名称

使用限制(DRS自动检查)

数据库权限设置

  • 增量、全量+增量同步场景:
    • 源数据库帐号需要具备如下角色:

      拥有sysadmin或同时拥有replication以及表和schema的select权限。

    • 目标数据库帐号需要具备如下角色或权限:

      具有每张表的如下权限:insert、select、update、delete、connect、create、references。

  • 全量同步场景:
    • 源数据库账户需要具备如下角色:

      拥有sysadmin或具有表和schema的select权限。

    • 目标数据库帐号需要具备如下角色或权限:

      具有每张表的如下权限:insert、select、update、delete、connect、create、references。

同步对象约束

  • 全量同步时仅支持表数据、表结构和索引约束的同步。
  • 增量同步时仅支持表数据的实时同步。
  • 增量同步不支持列存表、压缩表、非日志表、延迟表、临时表数据同步。

源数据库要求

  • GaussDB(for openGauss)源数据库日志模式(wal_level)必须为logical。
  • 源数据库中的库名和表名不能包含:+%"<>'\以及非ASCII字符。
  • 源数据库分布键中不能含有“, ”(逗号+空格)字符。
  • 源库必须是本云GaussDB(for openGauss)主备版实例。

目标数据库要求

  • 目标库存在已配置的数据库。
  • 增量同步时必须先在目标实例中手动创建SCHEMA和表。
  • 增量同步的表要禁用外键,因为DRS并行回放会使得不同表之间的写入顺序和源库不一致,可能会触发外键约束限制,造成同步失败。
分享:

    相关文档

    相关产品

close