检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
同步数据库 本章节介绍创建DRS实例,将本地Oracle上的test_info数据库同步到GaussDB实例中test_database_info数据库中。 同步前检查 在创建任务前,需要针对同步条件进行手工自检,以确保您的同步任务更加顺畅。 在同步前,您需要参考入云使用须知获取同步相关说明。
by: [reason]:Failed to connect to database due to network, check the network between the DRS and the database or try again later.[message]:apply
源库的schema名是否合法 PostgreSQL迁移场景 表1 源库的schema名是否合法 预检查项 源库的schema名是否合法。 描述 源数据库的schema名不支持 '" .字符,检查源数据库schema名是否合法,若存在不合法的字符,会导致实时同步失败。 不通过提示及处理建议
对比任务报错,关键词“失败报错:service SDV failed! cause by: the size of records in one shard[ *** ] of target database, exceeds the max size 200000” 行数对比任务结果不一致,目标数据库执行SQL超时
源数据表是否含有不支持的表字段类型 PostgreSQL->GaussDB(DWS)同步 表1 源数据表是否含有不支持的表字段类型 预检查项 源数据表是否含有不支持的表字段类型 描述 源数据表若含有不支持的表字段类型,会造成数据同步失败。 不通过提示及处理建议 不通过原因:源数据库表含有不支持的表字段类型。
by: [reason]:Failed to connect to database due to network, check the network between the DRS and the database or try again later.[message]:Timed
源库库名长度校验 检查源数据库中是否存在名称超出限制长度的数据库,如果存在,则导致迁移失败。 不通过原因 源数据库存在名称超出限制长度的数据库,目前RDS限制的数据库长度为64位。 处理建议 修改数据库名称长度。 父主题: 数据库参数检查
同步对象中是否存在包含bytea、text类型字段的表 PostgreSQL为源同步场景 表1 同步对象中是否存在包含bytea、text类型字段的表 预检查项 同步对象中是否存在包含bytea、text类型字段的表。 描述 bytea、text类型的字段在同步过程中可能会导致DRS任务OOM。
扩展插件合法性检查 PostgreSQL同步场景 表1 扩展插件合法性检查 预检查项 扩展插件合法性检查。 描述 检查目标数据库是否缺少源数据库所安装的插件。 不通过提示及处理建议 不通过原因:源数据库中已安装的扩展插件,在目标数据库中不支持。 处理建议: 如果源数据库中没有业务
源库对象关联关系检查 PostgreSQL为源同步 表1 源库对象关联关系检查 预检查项 源库对象关联关系检查。 描述 源库对象关联关系检查,若不符合迁移要求,则导致迁移失败。 不通过提示及处理建议 不通过原因:已选择的对象中存在含外键的表,且未选择迁移该外键依赖的表。 处理建议:请在对象选择页面选择依赖的对象。
同步Topic策略,可选择“集中投递到一个Topic”。 Topic 选择目标端需要同步到的Topic。 同步到kafka partition策略 同步到kafka partition策略。 全部投递到Partition 0:适用于有事务要求的场景,事务保序,可以保证完全按照事务顺序消费,写入性能比较差,如果没有强事务要求,不推荐使用此选项。
行数对比任务结果不一致,目标数据库执行SQL超时 操作场景 数据级行对比不一致,提示"目标数据库执行SQL超时"。 图1 对比不一致 问题分析 由于比对的表数据量比较大,行比对超时,默认超时时间1小时。 解决方案 重新进行行对比。 拆分需要进行对比的表,分批多次进行对比。 如果以
源数据表是否含有不可作为分布键的列类型 PostgreSQL->GaussDB(DWS)同步 表1 源数据表是否含有不可作为分布键的列类型 预检查项 源数据表是否含有不可作为分布键的列类型 描述 源数据表的列类型中含有不可作为分布键的列类型,会造成数据同步失败。 不通过提示及处理建议
源库是否包含无日志表(UNLOGGED TABLE) PostgreSQL为源同步场景 表1 源库是否包含无日志表(UNLOGGED TABLE) 预检查项 源库包含无日志表(UNLOGGED TABLE)。 描述 检查源库包含无日志表(UNLOGGED TABLE),若存在无日志表,则导致同步失败。
需要配置对应实例的读权限,例如数据库为RDS时,需要在项目上配置RDS ReadOnlyAccess权限。 更新数据加工信息 drs:dataTransformation:update 需要配置对应实例的读权限,例如数据库为RDS时,需要在项目上配置RDS ReadOnlyAccess权限。
源库表类型校验 检查Microsoft SQL Server源库表类型,源库表不支持SQL_VARIANT、GEOMETRY、GEOGRAPHY数据类型,如果存在该类型的数据,则导致同步失败。 不通过原因 源库存在数据类型不支持同步的表。 处理建议 单击“上一步”,返回至对象选择页面,在同步对象中去除该对象。
“SQL查询”进入SQL查询页面。 执行如下语句创建兼容Oracle的数据库。 此例中为:test_database_info,请根据实际情况选择。 CREATE DATABASE test_database_info DBCOMPATIBILITY 'ORA'; 父主题: 本地Oracle同步到GaussDB分布式版
执行如下语句,查询同步任务选择的database对象所对应的流复制槽名称。 select slot_name from pg_replication_slots where database = 'database'; 其中database为DRS同步任务中选择同步的database。 执行如下语句,删除对应的流复制槽
执行如下语句,查询同步任务选择的database对象所对应的流复制槽名称。 select slot_name from pg_replication_slots where database = 'database'; 其中database为DRS同步任务中选择同步的database。 执行如下语句,删除对应的流复制槽。
用户在设置迁移用户密码时,设置的密码不符合目标库的密码复杂度要求,需要按照用户密码复杂度的要求进行密码设置。 操作步骤 以下操作适用于目标数据库为RDS实例的情况。 登录关系型数据库服务控制台。 选择指定目标数据库实例。 单击实例名称。 页面跳转至“基本信息”页签,切换至“参数修改”页面。