华为云用户手册

  • 使用建议 灾备初始化阶段,请不要在业务数据库执行DDL操作,否则可能导致任务异常。 灾备初始化阶段,确保灾备数据库无业务写入,保证灾备前后数据一致。 数据库灾备与环境多样性和人为操作均有密切关系,为了确保灾备的平顺,建议您在进行正式的数据库灾备之前进行一次演练,可以帮助您提前发现问题并解决问题。 基于以下原因,建议您在启动任务时选择“稍后启动”功能,选择业务低峰期开始运行灾备任务,避免灾备任务对业务造成性能影响。 在网络无瓶颈的情况下,灾备初始化阶段会对业务数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 灾备无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。 正在灾备的数据被其他事务长时间锁死,可能导致读数据超时。 DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 灾备初始化阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 数据对比 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。
  • 数据库账号权限要求 在使用DRS进行灾备时,连接业务数据库和灾备数据库的账号需要满足以下权限要求,才能启动实时灾备任务。不同类型的灾备任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 所需权限 业务数据库连接账号 需要具备如下权限: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFEREN CES 、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION。 TaurusDB实例的root账户默认已具备上述权限。 灾备 数据库连接账号 需要具备如下权限: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFERENCES、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION。 TaurusDB实例的root账户默认已具备上述权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接业务和灾备数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2中为DRS任务所需的最小权限,如果需要DRS任务迁移grant授权的情况下,请确保DRS任务的连接账号本身具备对应权限,否则可能因为grant授权执行失败导致目标库对应用户缺少授权。例如DRS任务的连接账号本身不要求process权限,如果需要通过DRS任务迁移process授权则需要保证DRS任务的连接账号具备该权限。
  • 暂停任务 在“实时灾备管理”页面的灾备列表中,选择要暂停的灾备任务,单击“操作”列的“暂停”。 在弹出的“暂停任务”对话框中,选择“暂停日志抓取”后,单击“是”。 暂停任务时,仅暂停增量数据的回放、或者拉取加回放,在进行数据库割接前,请先结束任务。 勾选“暂停日志抓取”后,该功能会停止一切DRS和源库、目标库的连接,请注意暂停过长可能会因为源端所需日志过期而导致任务无法恢复续传。建议暂停时间不超过24小时,具体时间请排查相应日志配置。 暂停成功后,状态栏显示为“已暂停”。 需要继续灾备时,可以使用续传功能。
  • 操作步骤 在“实时灾备管理”页面的任务列表中,选择要结束的任务,单击“结束”。 在弹出框中单击“是”,提交结束任务。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,请检查是否存在影响,确认同步情况。 如果需要正常结束任务,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。 当任务状态为灾备中并且当前链路是以MySQL为源的DRS链路,勾选“结束时展示断点信息”后,在任务结束后灾备进度页面会显示源库的GTID和binlog位点信息。
  • 方式一 在“实时灾备管理”页面的灾备任务列表中,选择要修改的任务,单击“编辑”。 在“源库及目标库”页面,填写业务库和灾备库信息,单击“下一步”。 在“预检查”页面,进行灾备任务预校验,校验通过后才可进行下一步。 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”重新进行灾备任务的预检查。 预检查不通过项处理建议请参见《 数据复制服务 用户指南》中的“预检查不通过项修复方法”。 预检查完成后,且预检查通过率为100%时,单击“下一步”,进入“参数对比”页面。 所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。 在“参数对比”页面,进行参数对比。 参数对比功能从“常规参数”和“性能参数”两个维度,展示了业务数据库和灾备数据库参数值的一致性情况。您可以根据业务需要,决定是否选用该功能。该操作不影响数据灾备,主要目的是为了确保数据灾备成功后业务应用的使用不受影响。 若您选择不进行参数对比,可跳过该步骤,单击页面右下角“下一步”按钮,继续执行后续操作。 若您选择进行参数对比,请参照如下的步骤操作。 对于常规参数,一般情况下,如果业务数据库和灾备数据库存在不一致的情况,建议单击“一键修改”,将灾备数据库参数修改为和业务数据库对应参数相同的值。 图1 修改常规参数 对于性能参数,您可以根据业务场景,自定义业务数据库和灾备数据库的参数值,二者结果可以一致也可以不一致。 将对比结果一致的性能参数修改为不一致:在“目标库值调整为”一列手动输入调整的倍数或结果后,单击左上角的“一键修改”,即可完成修改。 将对比结果不一致的性能参数改为一致,请参考如下流程进行修改: 对业务库和灾备库的参数值。 选择需要修改的参数后,单击“一键对齐”,系统将帮您自动填充灾备数据库的参数值,使其和业务数据库对应的参数值保持一致。 图2 一键对齐参数 您也可以通过手动输入调整的倍数或结果,对齐参数值。 修改参数值。 业务数据库和灾备数据库的不一致参数值对齐后,单击“一键修改”,系统将按照您当前设置的灾备数据库参数值进行修改。修改完成后,灾备数据库的参数值和对比结果会自动更新。 图3 一键修改参数 部分参数修改后无法在灾备数据库立即生效,需要重启才能生效,此时的对比结果显示为“待重启,不一致”。建议您在灾备任务启动之前重启灾备数据库,或者数据灾备结束后选择一个计划时间重启。如果您选择数据灾备结束后重启灾备数据库,请合理设置重启计划时间,避免参数生效太晚影响业务的正常使用。 在进行参数对比功能时,您可以参见《数据复制服务用户指南》中“参数对比列表”进行参数设置。 参数对比操作完成后,单击“下一步”,进入“任务确认”页面。 在“任务确认”页面,设置灾备任务的启动时间、任务异常通知设置、 SMN 主题、时延阈值、RTO 时延阈值、RPO 时延阈值、任务异常自动结束时间,并确认灾备任务信息无误后,单击“启动任务”,提交灾备任务。 图4 任务启动设置 表1 任务和描述 参数 描述 启动时间 灾备任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。 说明: 预计灾备任务启动后,会对业务数据库和灾备数据库的性能产生影响,建议选择业务低峰期,合理设置灾备任务的启动时间。 任务异常通知设置 该项为可选参数,开启之后,选择对应的SMN主题。当灾备任务状态或时延指标异常时,系统将发送通知。 SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。 SMN主题申请和订阅可参考《 消息通知 服务用户指南》。 时延阈值 在数据灾备阶段,业务数据库和灾备数据库之间的有时会存在一个时间差,称为时延,单位为秒。 时延阈值设置是指时延超过一定的值后(时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 RTO 时延阈值 RTO时延阈值设置是DRS实例与灾备数据库间同步的时延超过一定的值后(RTO时延阈值范围为0到3600s),DRS可以发送告警通知给指定收件人。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置RTO时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 RPO 时延阈值 RPO时延阈值设置是业务数据库与DRS实例间同步的时延超过一定的值后(RTO时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置RPO时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 初次进入增量灾备阶段,会有较多数据等待同步,产生的较大时延属于正常情况,不在该功能监控范围之内。 任务异常自动结束时间(天) 设置任务异常自动结束天数,输入值必须在14到100之间,默认值14。 说明: 仅按需计费任务支持设置任务异常自动结束时间,包年/包月任务不支持。 异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必要的费用。 灾备任务提交后,您可在“实时灾备管理”页面,查看并管理自己的任务。 您可查看任务提交后的状态,状态请参见任务状态说明。 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 对于公网网络类型的任务,由于DRS需要在任务结束后删除后台资源,所以该任务绑定的弹性公网IP需要等待一段时间,才能恢复为解绑状态。 对于灾备中的任务,您可通过数据对比功能查看灾备前后数据是否一致。
  • 操作步骤 在“实时灾备管理”页面,选择指定的灾备任务,单击任务名称进入“基本信息”页签。 在“基本信息”页签,单击“灾备监控”页签。 RPO(Recovery Point Objective),为业务数据库与DRS实例数据差的一种度量方式,RPO=0时,意味着业务数据库的数据已经全部到达DRS实例。 RTO(Recovery Time Objective),处在传输中数据量的一种度量方式,RTO=0时,意味着DRS实例上的事务已经全部在灾备数据库上执行完毕。 时延监控:展示RPO、RTO的历史数据轨迹,对真实灾难将发生时的数据丢失量具有一定的预测意义。可重点关注以下两种类型数据: 长时间RPO、RTO高的时间段。 规律性RPO、RTO高的时间段。 自治监控:展示DRS的智能自制能力,主要包括: 网络断连时,DRS自动重连并断点续传的次数。 发生数据冲突时,DRS自动使用最新数据覆盖旧数据的次数。 性能监控:展示了DRS实例的实时读取速度和写入速度,有助于诊断性能瓶颈。 资源监控:展示了DRS实例的资源使用情况,有助于诊断性能瓶颈。 图1 灾备监控
  • 数据修复(公测中) 当静态内容对比结果中存在不一致数据时,可在对比报表的明细页中选取不一致的表进行数据修复。数据修复结果为可在目标库执行的修复SQL。修复完成后可在对比报表的修复进度明细页查看不一致行的修复SQL生成详情,也可导出和下载针对本次对比所有已生成的不一致SQL,并结合实际情况在目标库手动执行修复SQL。数据修复具有如下约束。 数据修复功能仅支持白名单用户使用,当前仅支持MYSQL-MYSQL链路。 对于修复SQL为INSERT或UPDATE语句的场景,修复SQL中将展示不一致行的所有列内容,列值为对应列在源库的当前值。 历史的比对任务可能由于缺少修复信息而修复失败,需要重新比对后再进行修复。 每个灾备任务仅保留最新一次数据修复的修复进度明细信息页面。 单个不一致行的数据大小最大支持4M,超过时对应的修复SQL将生成失败。 DRS生成的修复SQL中,时间类型字段的内容是基于UTC时间的,如果表中存在时间字段,目标库执行修复SQL前需先将会话时区设置为0时区。各数据库类型对应的会话时区设置SQL示例如下表。 请谨慎执行修复SQL中的DELETE语句。 表2 各数据库类型设置会话时区为0时区的SQL示例 数据库类型 时区设置SQL MYSQL SET session time_zone='+00:00';
  • 对数据库影响 对象对比:会查询源库及目标库的系统表,占用10个左右的session的连接数,正常情况不会对数据库产生影响。但是如果对象数量巨大(比如几十万张表),可能会对数据库产生一定的查询压力。 行数对比:会查询源库及目标库的表行数,占用10个左右的session的连接数,正常的select count语句基本不会对数据库产生影响。但是如果表数据量巨大(亿级)会对数据库产生一定的查询压力,返回查询结果会比较慢。 内容对比:会查询源库及目标库的全部数据,涉及每个字段都会对比,所以会对数据库产生一定的查询压力,主要体现在IO上,查询速度受限于源库和目标库的IO和网络带宽。占用1-2个CPU,占用10个左右的session的连接数。 用户对比:会查询源库及目标库的账户和权限,基本不会对数据库产生影响。
  • 约束限制 对比是大小写敏感的,如果业务数据库或灾备数据库一端为非大小写敏感,一端为大小写敏感,对比结果可能出现不一致的情况。 如果在对比时业务数据库进行DDL操作,为保证对比结果的准确性,需重新进行内容对比。 如果单独对灾备数据库进行数据修改操作,可能会导致对比结果不一致。 如果业务数据库字符类型存在编码异常的情况,通过DRS灾备或对比时会因数据库驱动转码转换为异常码点,最终可能导致内容对比一致,实际字节不一致。 内容对比功能目前只支持带有主键的表,对于不支持内容对比的表可以使用行数对比功能。所以数据级对比功能需要结合业务场景,选用行数对比或者内容对比。 DRS进行内容比对期间不能暂停DRS任务,否则可能导致比对任务失败。 部分数据类型不支持内容对比,详情参考内容对比不支持哪些数据类型。 为避免占用资源,DRS对行对比的时长进行限制,超过限制时长,行对比任务自动停止。业务数据库是关系型数据库时,行对比限制时长为60分钟;业务数据库为非关系数据库,行对比限制时长为30分钟。 为避免占用资源,DRS任务的对比结果限制保留60天,60天后自动清除。 对于支持内容对比的灾备链路,如果创建任务时可以选择实例规格,那么仅支持大规格及以上规格进行内容对比。 MySQL、TaurusDB为源链路,源数据库中的虚拟列不支持内容对比,对比时会过滤虚拟列。
  • 操作步骤 在“实时灾备管理”界面,选中指定灾备任务,单击任务名称。 在“灾备日志”页签选择“运行日志”,查看当前灾备任务的运行日志。 图1 查看灾备日志 除此以外,DRS支持对接 云日志 服务(Log Tank Service,简称LTS),进行LTS日志配置后,DRS实例新生成的所有日志记录会上传到云日志服务进行管理,详情可参考日志配置管理。 在“灾备日志”页签选择“操作日志”,查看当前灾备任务的操作日志。 图2 操作日志
  • 操作步骤 在“实时灾备管理”界面,选中指定灾备任务,单击任务名称,进入“基本信息”页面。 单击“灾备进度”页签,查看灾备进度。当数据初始化完成时,显示初始化进度为100%。 您可在“灾备进度”页签下,查看灾备同步时延。 灾备同步时延也可在“实时灾备管理”界面查看,当时延超过用户设置或系统默认的时延阈值时,任务管理界面增量时延显示为红色。 当时延为0s时,表示业务数据库和灾备数据库进入近实时同步状态,此时可以通过“灾备监控”页签查看更多时延指标,如RPO、RTO等。 时延 = 源库当前系统时间 - 成功同步到目标库的最新一个事务在源库的提交成功时间。 一个事务同步的完整过程如下: 源端数据库的抽取; 经过网络的传输; 由DRS进行日志解析; 最终在目标数据库上的执行完成。 这样完成了事务从源到目标的同步,时延为该事务最后在目标数据库上执行完成时的源库当前系统时间(current_time)与该事务在源库的提交成功时间(committed_time)的时间差,时延为0代表源和目标瞬时一致,无新的事务需要同步。 长时间未提交事务和频繁DDL操作均可以造成高时延。
  • 使用场景 为了解决地区故障导致的业务不可用,数据复制服务推出灾备场景,为用户业务连续性提供数据库的同步保障。当主实例所在区域发生突发生自然灾害等状况无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库链接地址后,即可快速恢复应用的业务访问。数据复制服务提供的实时灾备功能,可实现主实例和跨区域的灾备实例之间的实时同步。 一次完整的数据灾备,是以任务作为导向,依次进行灾备进度观察、灾备 日志分析 、灾备数据一致性对比等多项操作。通过多项指标和数据的对比分析,可以帮助您实现不同业务系统间的数据同步。
  • 使用流程 数据灾备的使用流程如下: 图1 数据灾备流程 步骤一:创建灾备任务。根据需要,选择业务数据库和灾备数据库,创建灾备任务。 步骤二:查询灾备进度。灾备过程中,可以通过查看灾备进度了解数据灾备完成情况。 步骤三:查看灾备日志。灾备日志包含告警、错误和提示等类型的信息,可根据此类信息分析系统存在的问题。 步骤四:对比灾备项。数据灾备提供对比功能,可根据需要查看对象级对比、数据级对比等,来确保业务数据库和灾备数据库的数据一致性。 本章节将以MySQL到RDS for MySQL的灾备场景为示例,介绍在公网网络场景下,通过数据复制服务管理控制台配置数据灾备任务的流程,其他存储引擎的配置流程类似。 在数据复制服务中,数据库灾备是通过任务的形式完成的,通过创建任务,可以完成任务信息配置、任务创建。灾备任务创建成功后,您也可以通过数据复制服务管理控制台,对任务进行管理。
  • 任务状态说明 实时灾备提供了多种任务状态,以便区分不同阶段的灾备任务。 实时灾备任务的状态和说明,请参见表1。 表1 实时灾备任务状态和说明 状态 说明 创建中 正在创建数据复制服务需要用到的灾备实例。 配置 灾备实例创建成功,但还没有启动任务,可以继续配置任务。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。 等待启动 已经下发了定时启动任务到灾备实例上,等待灾备实例启动任务。 启动中 正在启动灾备任务。 启动失败 实时灾备任务启动失败。 初始化 正在进行业务数据库到灾备数据库的全量数据初始化。 初始化完成 已完成灾备任务的初始化。 灾备中 持续进行从业务数据库到灾备数据库的增量数据灾备。 倒换中 正在进行灾备任务的主备倒换。 已暂停 实时灾备步任务已暂停。 灾备异常 灾备阶段中,任务出现异常。 结束任务 释放该灾备实例和资源。 结束任务中 正在释放灾备任务所使用的灾备实例和资源。 结束任务失败 释放灾备任务所使用的实例和资源失败。 已结束 灾备任务所使用的灾备实例释放成功。 对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 已删除的灾备任务在状态列表中不显示。 父主题: 任务生命周期
  • 处理建议 检查DRS测试连接时输入的用户名和密码是否正确,填入正确的数据库用户名和密码后重新执行预检查。 测试连接时输入的端口号无法访问,请检查端口是否存在。如果端口正确,需检查防火墙是否放开。 源数据库为PostgreSQL,数据库配置文件pg_hba.conf缺少对数据库账号的配置,建议配置该账号的远程连接权限。 打开配置文件pg_hba.conf,添加如下配置,重启数据库生效。 host all xxx(dbuser) 0.0.0.0/0 method 完成DRS任务之后删除这条配置,重启数据库生效。 进行数据迁移前需确保完成网络准备和安全规则设置,如果连接失败,请按照以下方法排查网络配置是否正确。 公网网络 请确保数据库已开放公网访问。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的弹性公网IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的弹性公网IP。 请确保防火墙设置正确。 数据中心防火墙需要放通DRS实例弹性公网IP的访问,使得DRS可以正常访问数据库。 入方向放行:放通DRS实例弹性公网IP到数据库监听端口的访问。 出方向放行:放通数据库监听端口到实例弹性公网IP的数据传输。 VPC网络 确保数据库安全组设置正确。 查看数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私网IP。 确保数据库网络ACL设置正确。 VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则。 VPN、专线网络 请确保数据库VPN或专线网络配置正确。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的私有IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私有IP。 更多关于DRS网络设置可参考准备工作概览内容。
  • GaussDB 为目标库同步场景 表1 目标数据库已存在的表中有启用的触发器 预检查项 目标数据库已存在的表中有启用的触发器 描述 目标数据库已存在的表包含生效的触发器,此类触发器可能引发数据同步任务失败 不通过提示及处理建议 不通过原因:目标数据库已存在的表包含生效的触发器,此类触发器可能引发数据同步任务失败 处理建议:以下处理方法任选其一即可 1.禁用触发器: alter table table_name disable trigger all; 2.设置会话参数: set session_replication_role to replica;
  • GaussDB为目标库同步场景 表1 是否禁用了外键或者同步的表在目标库上是否有外键 预检查项 是否禁用了外键或者同步的表在目标库上是否有外键 描述 目标库的表存在外键没有禁用,可能会导致数据同步失败 不通过提示及处理建议 不通过原因:目标库的表存在外键没有禁用,可能会导致数据同步失败。 处理建议:以下处理方法任选其一即可 1.修改目标库用户的session_replication_role参数为replica: set session_replication_role to replica; 2.返回设置同步页面从同步对象选择中取消选择这些表 3.禁用外键或者删除外键: 禁用:alter table table_name disable constraint constraint_name; 删除:alter table table_name drop constraint constraint_name;
  • 处理建议 建议用DWS的MYSQL、TD的兼容模式或给无主键表加上主键。 参考创建语句: CREATE DATABASE mysql_compatible_db DBCOMPATIBILITY 'MYSQL'; 或: CREATE DATABASE td_compatible_db DBCOMPATIBILITY 'TD'; 建议目标GaussDB实例使用兼容MySQL的数据库。 如果目标实例为分布式实例,参考语句:CREATE DATABASE mysql_compatible_db DBCOMPATIBILITY 'MYSQL'; 如果目标实例为主备版实例,参考语句:CREATE DATABASE mysql_compatible_db DBCOMPATIBILITY 'B';
  • PostgreSQL为源同步 表1 源库对象关联关系检查 预检查项 源库对象关联关系检查。 描述 源库对象关联关系检查,若不符合迁移要求,则导致迁移失败。 不通过提示及处理建议 不通过原因:已选择的对象中存在含外键的表,且未选择迁移该外键依赖的表。 处理建议:请在对象选择页面选择依赖的对象。 不通过原因:已选择的对象中存在视图,且未选择迁移该视图依赖的表或视图。 处理建议:请在对象选择页面选择依赖的对象。 不通过原因:已选择的对象中存在继承表,且未选择迁移该继承表依赖的表。 处理建议:请在对象选择页面选择依赖的对象。
  • Oracle为源同步场景 表1 源库是否正确开启补充日志 预检查项 源库是否正确开启补充日志。 描述 Oracle源库未开启库级补充日志或级别不满足要求,会导致同步失败。 不通过提示及处理建议 不通过原因:源库补充日志级别告警,源库补充日志设定为库的主键和唯一键级别,可能在UPDATE目标库不存在的数据时丢失部分字段数据。 处理建议:建议设置库或表补充日志为ALL级别。 修改库补充日志为ALL级别语句参考: alter database add supplemental log data (all) columns; 查看库补充日志为ALL级别是否打开: select supplemental_log_data_all as allLog from v$database;
  • MongoDB迁移场景 表1 源数据库账号依赖检查 预检查项 源数据库账号依赖检查。 描述 在进行用户迁移时,若所选迁移的用户与某些角色存在依赖关系,需要同时选择迁移该用户及所依赖的角色,否则会导致迁移失败。 不通过提示及处理建议 不通过原因:源数据库账号依赖的数据库在目标数据库中不存在,并且也不在所选的对象选择列表中。 处理建议:在角色选择中选择账号依赖的角色一起迁移,或者不迁移这些依赖检查不通过的账号。 不通过原因:源数据库账号依赖的数据库在目标库中不存在,并且也不在用户的对象选择列表中。 处理建议:在对象选择中选择账号依赖的数据库一起迁移,或者不迁移这些依赖检查不通过的账号。
  • MongoDB迁移场景 表1 源数据库角色依赖检查 预检查项 源数据库角色依赖检查。 描述 在进行用户迁移时,若所选迁移的用户与某些角色存在依赖关系,需要同时选择迁移该用户及所依赖的角色,否则会导致迁移失败。 不通过提示及处理建议 不通过原因:源数据库角色依赖的数据库在目标数据库中不存在,并且也不在所选的对象选择列表中。 处理建议:在对象选择中选择角色依赖的数据库一起迁移,或者不迁移这些依赖检查不通过的角色。 不通过原因:源数据库角色依赖的角色在目标数据库中不存在,并且也不在用户的角色选择列表中。 处理建议:在角色选择中选择角色依赖的角色一起迁移,或者不迁移这些依赖检查不通过的角色。
  • MySQL迁移场景 表1 源端是否存在触发器或事件 预检查项 源端是否存在触发器或事件。 描述 为了避免触发器或事件的自动触发机制导致非预期数据操作,从而引起两边数据的不一致,DRS任务将在用户结束任务时启动触发器或事件的迁移,如果您在任务运行中,关闭或断开了源数据库连接,则会导致触发器或事件未迁移。 待确认提示及处理建议 待确认原因:源数据库存在触发器或事件。 处理建议:此警告仅为迁移操作提示,请您先结束任务后再断开源端网络,则可确保迁移完整性。
  • Oracle为源同步场景 表4 源库无主键表检查 预检查项 源库无主键表检查。 描述 源数据库若存在无主键表,可能会导致同步数据存在少量不一致的可能性。 不通过提示及处理建议 不通过原因:由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 处理建议:建议为无主键表添加主键,或者不同步无主键表。 增加主键语句参考: ALTER TABLE table_name ADD CONSTRAINT constraint-name PRIMARY KEY (column_name); 若要同步主键表,建议在全量同步期间不执行ALTER TABLE MOVE操作,多分区操作SPLIT/MERGE分区,FLASHBACK操作,ALTER TABLE SHRINK SPACE操作,否则数据重复可能性会增加。
  • MySQL同步场景 表2 源库无主键表检查 预检查项 源库无主键表检查。 描述 在进行MySQL同步时,源数据库若存在无主键表,可能会导致同步失败。 不通过提示及处理建议 不通过原因:源数据库同步的表中存在无主键表。 处理建议:建议修改无主键表。 不通过原因:多对一任务时,不允许源库中存在与目标库同名的无主键表。 处理建议:建议修改无主键表、删除目标库无主键表或者不迁移无主键表。 待确认提示及处理建议 待确认原因:源数据库同步的表中存在无主键表。 处理建议:无主键表由于缺乏行的唯一性标志,无法进行内容对比,且在网络不稳定情况下,可能存在目标与源库数据不一致的情况。建议将无主键表修改为主键表。
  • MySQL迁移场景 表1 Definer迁移权限检查 预检查项 Definer迁移权限检查。 描述 入云场景Definer迁移需要源库账号具有all privileges权限,出云场景的Definer迁移需要目标库账号具有all privileges权限。 不通过提示及处理建议 不通过原因:目标库的指定账号当前权限不足。 处理建议:选择Definer指定为目标数据库连接用户账号,或者赋予目标数据库用户all privileges权限。 可参考如下语句: grant all privileges on *.* to ‘user’@’host’ 不通过原因:源库的指定账号当前权限不足。 处理建议: 将所有Definer迁移到指定目标库用户下:在配置目标库时选择“所有Definer迁移到该用户下”,使得所有对象Definer均在该指定用户下。 保留原Definer设置,但需要赋予源数据库用户all privileges权限。 可参考如下语句: grant all privileges on *.* to ‘user’@’host’
  • 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:An error occurred in the process DATAMOVE, caused by: apply event=[type=table_data, shard_id=0, batch_index_in_shard=1, table_name=%s, record_num=1] occur error, msg=apply data of table=%s failed: Data truncation: Invalid GIS data provided to function st_geometryfromtext.
  • 操作场景 客户创建备份迁移任务,提示空间不足,可能出现以下报错: The disk space of the target database is insufficient。 The disk space of the destination database must be 1.5 times larger than the size of the backup file。 The disk space of the destination database is insufficient. Check whether the backup is compressed。
  • 场景描述 全量迁移或同步期间,日志界面提示信息:service DATAMOVE failed, cause by: retry structures failed events=the fail structures are [type=constraint_data, index=0, schema_name=DB, object_name=TABLE]reason:[Too many keys specified; max 64 keys allowed]。
  • 场景描述 Oracle为源DRS同步任务增量阶段报错,同步日志界面提示:service CAPTURE failed,cause by: get next Oracle log file error. The next file is: 1.log, errorcode = 'code': '01300', 'name': ' LOG S_NOT_EXIST', 'retry': false, 'reset': false, 'level': 3, message = timeout when get next file log, maybe has been deleted, please check it.
共100000条
提示

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