华为云用户手册

  • PostgreSQL为源同步场景 表1 同步对象中是否存在包含bytea、text类型字段的表 预检查项 同步对象中是否存在包含bytea、text类型字段的表。 描述 bytea、text类型的字段在同步过程中可能会导致DRS任务OOM。 待确认提示及处理建议 待确认原因:同步对象中是表包含bytea、text类型的字段,bytea、text类型的字段在同步过程中可能会导致DRS任务OOM。 处理建议:同步对象中如果存在包含bytea、text类型字段的表,建议创建大规格及以上规格的DRS任务进行同步。
  • PostgreSQL、 GaussDB 为源同步场景 表1 所选表是否包含延迟约束 预检查项 所选表是否包含延迟约束。 描述 所选表是否包含延迟约束,包含延迟约束的表有同步失败的风险 不通过提示及处理建议 不通过原因:包含延迟约束的表有同步失败的风险。 处理建议:重建约束去除延迟属性。 删除约束SQL为: alter table 模式名.表名 drop CONSTRAINT 约束名; 添加约束SQL为: alter table 模式名.表名 add CONSTRAINT 约束名 约束类型(字段列表) NOT DEFERRABLE;
  • MySQL、TaurusDB、DDM为源的全量+增量或增量迁移、同步场景,以及MySQL、TaurusDB、DDM为源灾备场景 表1 源端存在不支持的外键引用操作 预检查项 源端存在不支持的外键引用操作。 描述 同步对象中存在包含CASCADE、SET NULL、SET DEFAULT之类引用操作的外键。这些关联操作会导致更新或删除父表中的行会影响子表对应的记录,并且子表的相关操作并不记录binlog。导致DRS无法同步,子表数据存在不一致。 不通过提示及处理建议 不通过原因:同步对象中存在包含CASCADE、SET NULL、SET DEFAULT之类引用操作的外键。这些关联操作会导致更新或删除父表中的行会影响子表对应的记录,并且子表的相关操作并不记录binlog。导致DRS无法同步,子表数据存在不一致。 处理建议:建议删除子表中包含CASCADE、SET NULL、SET DEFAULT之类引用操作的外键约束,或者不同步相关子表。 删除外键约束的参考语句: ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
  • 处理建议 删除源库表中名称字母相同但大小写不同的列,或者变更源库表中名称字母相同但大小写不同的列名称。 表在目标库不存在时请在目标库中创建上述表,并确保与源库的表结构一致。建表语句参考: CREATE TABLE table_name (column_name data_type); 与源库的表结构不一致时请在目标库表中创建缺失的列,或把目标库表中已存在名称字母相同但大小写不同的列转为小写,或删除源库表中多余的列。 目标库和源库约束保持一致,或确认不一致的约束不影响后续数据迁移。
  • 约束限制 账户余额大于等于0元,才可变更规格。 目前同步仅支持任务类型为单AZ的同步任务升级实例规格,不支持父子任务升级实例规格,不支持降低规格。 目前仅支持任务状态为全量中、全量失败、增量中、增量失败的同步任务进行规格变更。 规格变更前,请确认当前可用区支持目标规格任务的创建。 建议在业务低峰期操作规格变更。 变更开始后,任务处于暂停阶段,变更完成后,会自动续传。 任务规格变更时间大概需要5-10分钟左右,请耐心等待!
  • MySQL为源同步场景 表1 同步对象中是否存在包含longtext或longblob类型字段的表 预检查项 同步对象中是否存在包含longtext或longblob类型字段的表。 描述 longtext、longblob类型的字段在同步过程中,可能会导致较低规格的DRS任务失败。 不通过提示及处理建议 不通过原因:同步对象中存在如下表,这些表包含longtext、longblob类型的字段。 处理建议:同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步。
  • MariaDB同步场景 表2 同步对象中是否存在包含longtext或longblob类型字段的表 预检查项 同步对象中是否存在包含longtext或longblob类型字段的表。 描述 longtext、longblob类型的字段在同步过程中,可能会导致较低规格的DRS任务失败。 不通过提示及处理建议 不通过原因:同步对象中存在如下表,这些表包含longtext、longblob类型的字段。 处理建议:同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步。
  • Oracle为源同步场景 表1 源库表字段类型检查 预检查项 源库表字段类型检查。 描述 对源数据库待同步表字段进行检查。 不通过提示及处理建议 不通过原因:源数据库表含有不支持的表字段类型。支持的表字段类型有: VARCHAR,VARCHAR2,NVARCHAR2,NUMBER,FLOAT,LONG,DATE,BINARY_FLOAT,BINARY_DOUBLE,RAW,LONG RAW,CHAR,NCHAR,CLOB,NCLOB,BLOB,ROWID,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE。 处理建议:请选择其他可同步的表。
  • 数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库账号权限 类型名称 增量同步 源数据库连接账号 数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,REPLICATION连接权限。
  • 使用须知 DRS增量同步任务一般包含三个阶段:任务启动阶段、增量阶段、结束任务阶段。为了确保同步各个阶段的平顺,在创建同步任务前,请务必阅读以下使用须知。 表4 使用须知 类型名称 使用和操作约定 任务启动前须知 源数据库要求: 源数据库参数wal_level必须配置为logical; 源数据库需提前安装test_decoding插件; 源数据库中无主键表的replica identity属性必须为full; 源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量; 源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 目标数据库要求: 目标库为社区Kafka。 Kafka的auto.create.topics.enable参数建议为false。 其他使用须知: 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。 源库必须为华为云RDS for PostgreSQ L实例 。 库级同步时,增量同步中的任务,不支持“编辑”操作。 表级同步时,增量同步中的任务,支持“编辑”操作,但是不支持更换数据库。 在启动任务前,请确保源库中未启动长事务,源库启动长事务会阻塞逻辑复制槽的创建,进而引发任务失败。 在任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。 由于长事务导致的创建逻辑复制槽失败或逻辑复制槽不存在的问题,需要通过重置任务来重新启动。 增量同步过程须知 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。 请勿删除源数据库表的主键,否则可能导致增量数据缺失或任务失败。 请勿修改源数据库中表的replica identity属性,否则可能导致增量数据缺失或任务失败。 请勿在Kafka上删除接收DRS数据的topic,否则可能导致任务失败。 库级同步时,源库新增无主键表时,请务必同时将该无主键表的replica identity属性设置为full,然后再写入数据,否则可能导致增量数据缺失或任务失败。 库级同步时,源库新增主键表时,如果主键列toast属性为main、external、extended时,请务必同时将该表的replica identity属性设置为full,然后再写入数据,否则可能导致数据不一致或任务失败。 增量同步过程中暂停、任务异常续传,目标Kafka中可能会出现重复数据,请使用Kafka数据中的id字段进行去重。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 结束任务须知 正常结束任务: 全量+增量实时同步任务正常结束时,将自动删除任务在源库创建的流复制槽。 强制结束任务: 强制结束全量+增量实时同步任务,需要手动删除源库可能残留的复制槽,可参考PostgreSQL为源强制结束任务章节的指导进行操作。 逻辑复制槽命名规则为“drs_唯一性标识”,其中唯一性标识需要将任务node id中的“-”替换为“_”获取。node id可在DRS任务同步日志页面查看task node id is ***日志找到。
  • 使用须知 DRS增量同步任务一般包含三个阶段:任务启动阶段、增量阶段、结束任务阶段。为了确保同步各个阶段的平顺,在创建同步任务前,请务必阅读以下使用须知。 表4 使用须知 类型名称 使用和操作约定 任务启动前须知 源数据库要求: 源数据库参数wal_level必须配置为logical; 源数据库需提前安装test_decoding插件; 源数据库中无主键表的replica identity属性必须为full; 源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量; 源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 目标数据库要求: 目标库为社区Kafka。 Kafka的auto.create.topics.enable参数建议为false。 其他使用须知: 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。 库级同步时,增量同步中的任务,不支持“编辑”操作。 表级同步时,增量同步中的任务,支持“编辑”操作,但是不支持更换数据库。 在启动任务前,请确保源库中未启动长事务,源库启动长事务会阻塞逻辑复制槽的创建,进而引发任务失败。 在任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。 由于长事务导致的创建逻辑复制槽失败或逻辑复制槽不存在的问题,需要通过重置任务来重新启动。 增量同步过程须知 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。 请勿删除源数据库表的主键,否则可能导致增量数据缺失或任务失败。 请勿修改源数据库中表的replica identity属性,否则可能导致增量数据缺失或任务失败。 请勿在Kafka上删除接收DRS数据的topic,否则可能导致任务失败。 库级同步时,源库新增无主键表时,请务必同时将该无主键表的replica identity属性设置为full,然后再写入数据,否则可能导致增量数据缺失或任务失败。 库级同步时,源库新增主键表时,如果主键列toast属性为main、external、extended时,请务必同时将该表的replica identity属性设置为full,然后再写入数据,否则可能导致数据不一致或任务失败。 增量同步过程中暂停、任务异常续传,目标Kafka中可能会出现重复数据,请使用Kafka数据中的id字段进行去重。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 结束任务须知 正常结束任务: 全量+增量实时同步任务正常结束时,将自动删除任务在源库创建的流复制槽。 强制结束任务: 强制结束全量+增量实时同步任务,需要手动删除源库可能残留的复制槽,可参考PostgreSQL为源强制结束任务章节的指导进行操作。 逻辑复制槽命名规则为“drs_唯一性标识”,其中唯一性标识需要将任务node id中的“-”替换为“_”获取。node id可在DRS任务同步日志页面查看task node id is ***日志找到。
  • 数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库账号权限 类型名称 增量同步 源数据库连接账号 数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,REPLICATION连接权限。
  • 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 GaussDB集中式版(B、M兼容模式。版本数据库内核版本为505.2及以下版本,内核版本与数据库引擎版本的关系请参考云数据库GaussDB的数据库引擎版本说明。) RDS for MySQL 5.6、5.7版本 本地自建MySQL数据库 5.5、5.6、5.7版本 E CS 自建MySQL数据库 5.5、5.6、5.7版本 其他云上MySQL数据库 5.5、5.6、5.7版本
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 用户具备sysadmin角色或以下最小权限: DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 需要具备以下基本权限: INSERT、DELETE、 UPDATE、 SELECT、SHOW DATABASES。
  • 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) ECS自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) 其他云上MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) RDS for MySQL(5.5、5.6、5.7、8.0版本) TaurusDB标准版(5.7、8.0版本) GaussDB集中式版(B兼容模式、M兼容模式)(版本数据库内核版本为505.2及以下版本,内核版本与数据库引擎版本的关系请参考云数据库GaussDB的数据库引擎版本说明。)
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库用户,避免因为数据库用户密码修改,导致的任务连接失败。 连接源或目标数据库的用户密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库用户被锁定影响使用。 由于 分布式数据库 为源链路需要检查每个DN的连通性,建议使用非root数据库用户进行同步,避免因为密码填写错误在连接DN过程中导致用户被锁定。 表3 数据库用户权限 类型名称 增量同步 源数据库连接用户 用户具备sysadmin角色或以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库用户,避免因为数据库用户密码修改,导致的任务连接失败。 连接源或目标数据库的用户密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库用户被锁定影响使用。 由于分布式数据库为源链路需要检查每个DN的连通性,建议使用非root数据库用户进行同步,避免因为密码填写错误在连接DN过程中导致用户被锁定。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限,如果需要使用内容对比,需要拥有用户的MONADMIN权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限,如果需要使用内容对比,需要拥有用户的MONADMIN权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 如果需要使用内容对比,需要拥有用户的MONADMIN权限。 目标库使用gsloader等工具创建相关系统表(如 public.pgxc_copy_error_log,public.gs_copy_summary)时,DRS访问相关系统表需要有系统表的all privilege权限,详细信息可参考《GaussDB工具参考》。
  • 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 GaussDB分布式(支持与目标端相同兼容模式同步,不支持M兼容模式同步。版本数据库内核版本为505.2及以下版本,内核版本与数据库引擎版本的关系请参考云数据库GaussDB的数据库引擎版本说明。) GaussDB分布式(版本数据库内核版本为505.2及以下版本,内核版本与数据库引擎版本的关系请参考云数据库GaussDB的数据库引擎版本说明。) 说明: 仅支持目标库版本等于或高于源库版本。
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库用户,避免因为数据库用户密码修改,导致的任务连接失败。 连接源或目标数据库的用户密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库用户被锁定影响使用。 由于分布式数据库为源链路需要检查每个DN的连通性,建议使用非root数据库用户进行同步,避免因为密码填写错误在连接DN过程中导致用户被锁定。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 用户具备sysadmin角色或被授予以下权限: DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE(仅无主键表需要)权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 用户具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 用户具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 常需要具备sysadmin角色或以下基本权限: DATABASE上的权限:CONNECT、CREATE。 SCHEMA上的权限:USAGE。 表上的权限:INSERT、DELETE、 UPDATE、 SELECT。
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库用户,避免因为数据库用户密码修改,导致的任务连接失败。 连接源或目标数据库的用户密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库用户被锁定影响使用。 由于分布式数据库为源链路需要检查每个DN的连通性,建议使用非root数据库用户进行同步,避免因为密码填写错误在连接DN过程中导致用户被锁定。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 用户具备sysadmin角色或以下最小权限: DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT权限,或者具备RESOURCE角色。 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色。
  • 数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 用户具备sysadmin角色或以下最小权限: DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 用户具备sysadmin角色或以下最小权限: REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT权限,或者具备RESOURCE角色。 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色 用户需要具备DBA角色或者以下最小权限: CREATE SESSION权限,表的SELECT、INSERT、UPDATE、DELETE权限,或者具备RESOURCE角色。
  • 待确认原因 待迁移的表中以字符串为主键或唯一键的列不包含空格,由于源数据库的字符串作为主键、唯一键时区分空格,而目标数据库不区分,所以有可能导致数据不一致或迁移失败。 由于源数据库和目标数据库的差异,number、int、float、double、date、timestamp等数据类型表示范围不同,如果源数据库中这些类型的值超过了目标数据库的表示范围,可能导致迁移失败。 当非精确数据类型作为主键时,由于数据库的兼容性问题,可能会导致数据不一致。
  • 处理建议 目标数据库是RDS for MySQL实例时,GTID默认为开启状态且不支持关闭。如果GTID未开启,需要联系RDS for MySQL运维人员进行处理。 目标数据库为MySQL 5.5版本,则不支持设置GTID,无法使用DRS进行灾备,请创建迁移任务或联系运维人员进行处理。 目标数据库为MySQL 5.6及以上版本,通过修改数据库配置文件中如下参数开启GTID,然后重启数据库。 参考命令如下: gtid_mode = on log_slave_updates = true enforce_gtid_consistency = on
  • 目标库实例是否正常 表1 目标库实例是否正常 预检查项 目标库实例是否正常。 描述 检查目标库主实例和只读实例状态是否正常,若存在异常的实例,会导致迁移失败。 不通过提示及处理建议 不通过原因:目标库状态异常。 处理建议:请检查状态异常的目标库实例。 不通过原因:目标数据库的只读实例异常。 处理建议:请检查状态异常的目标只读实例。 不通过原因:RDS服务异常,请稍后重试。 处理建议:请稍后重试。 父主题: 目标库实例状态检查
  • 处理建议 源数据库是RDS for MySQL实例时,GTID默认为开启状态且不支持关闭。如果GTID未开启,需要联系RDS for MySQL运维人员进行处理。 源数据库为MySQL 5.5版本,则不支持设置GTID,无法使用DRS进行同步、灾备任务,请创建迁移任务或联系运维人员进行处理。 源数据库为MySQL 5.6及以上版本,通过修改数据库配置文件中如下参数开启GTID,然后重启数据库。 参考命令如下: gtid_mode = on log_slave_updates = true enforce_gtid_consistency = on
  • MongoDB迁移场景 表1 目标库最大支持chunk数目检查 预检查项 目标库最大支持chunk数目检查。 描述 检查目标数据库的最大chunk数目是否足以支撑源库数据的分片分裂,当chunk个数达到目标库的最大支撑数目时,chunk不再分裂,会影响写入性能。 不通过提示及处理建议 待确认原因:目标库的最大chunk数目不足以支撑源库数据的分片分裂,当chunk个数达到目标库的最大支撑数目时,chunk不再分裂,会影响写入性能。 处理建议:选择更高规格的目标库实例。
  • MongoDB迁移场景 表1 源数据库索引(_id)检查 预检查项 源数据库索引(_id)检查。 描述 检查源库是否存在没有索引(_id)的集合,若存在,则导致迁移失败。 待确认提示及处理建议 不通过原因:源数据库存在没有索引(_id)的集合。 处理建议:针对源数据库没有索引(_id)的集合手动添加索引,参考命令:db.集合名.ensureIndex({_id: 1}),如果创建索引不通过提示有重复的索引(_id)值,则不支持该集合的迁移。
  • Oracle为源库的迁移、同步场景 表1 源库约束完整性检查 预检查项 源库约束完整性检查。 描述 源库约束完整性检查,若不符合迁移要求,则导致迁移失败。 待确认提示及处理建议 不通过原因:需要迁移的表中含有依赖,但是被依赖的表没有被迁移。 处理建议:在对象选择中添加这些表。 不通过原因:迁移列表中含有不允许迁移的视图。 处理建议:检查迁移列表中视图所包含的依赖,并将这些依赖添加到对象选择中。 不通过原因:迁移对象中包含仅大小写不同的重名视图。 处理建议:建议修改视图名或者不迁移这些重名视图。 不通过原因:部分约束无法迁移,这些约束的特征为:约束名称的字母相同但大小写不同。 处理建议:建议修改约束名或者不迁移这些重名约束。
  • PostgreSQL为源同步场景 表1 源库是否包含无日志表(UN LOG GED TABLE) 预检查项 源库包含无日志表(UNLOGGED TABLE)。 描述 检查源库包含无日志表(UNLOGGED TABLE),若存在无日志表,则导致同步失败。 待确认提示及处理建议 待确认原因:源数据库包含无日志表(UNLOGGED TABLE),对无日志表的修改不会记录日志, 因此进入增量同步后,UNLOGGED类型的表将无法同步增量数据。 处理建议:请确认这些无日志表是否需要同步增量数据,如果需要,请将这些表的UNLOGGED属性去掉,参考命令:ALTER TABLE TABLE_NAME SET LOGGED。
  • MongoDB迁移场景 表1 源库和目标库数据库固定集合一致性检查 预检查项 源库和目标库数据库固定集合一致性检查。 描述 检查源库和目标库数据库固定集合是否一致,若不一致,则导致迁移失败。 不通过提示及处理建议 不通过原因:源数据库的集合是固定集合,但是目标数据库存在和源库固定集合名称相同的集合。 处理建议:为了保证数据的一致性,可以删除目标库已经存在的和源数据库选择的固定集合的同名集合,或者选择不迁移这些冲突的固定集合。 不通过原因:用户选择迁移集合在目标库已经存在,并且是固定集合。 处理建议:为了保证数据的一致性,可以删除目标库已经存在的和用户选择迁移的同名集合,或者选择不迁移这些冲突的集合。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全