【 使用环境 】测试环境
【 OB or 其他组件 】OMS迁移工具
【 使用版本 】OceanBase4.2.1(LTS)单机版
【问题描述】结构迁移的失败问题处理后,选择“恢复”后第三步全量迁移不知为何失败了
【复现路径】1、结构迁移失败,进行了处理,部分表异常不处理跳过
2、结构迁移失败停止后,点击了“恢复”继续迁移
3、第三步全量迁移步骤失败,不知道失败原因,索引也未做迁移
【 使用环境 】测试环境
【 OB or 其他组件 】OMS迁移工具
【 使用版本 】OceanBase4.2.1(LTS)单机版
【问题描述】结构迁移的失败问题处理后,选择“恢复”后第三步全量迁移不知为何失败了
【复现路径】1、结构迁移失败,进行了处理,部分表异常不处理跳过
2、结构迁移失败停止后,点击了“恢复”继续迁移
3、第三步全量迁移步骤失败,不知道失败原因,索引也未做迁移
根据您的描述,您在 OceanBase 4.2.1 单机版的测试环境中遇到了结构迁移失败的问题,处理后尝试恢复继续迁移,但在全量迁移阶段再次失败,且索引未迁移。为了更好地诊断这个问题,建议您使用 obdiag
工具进行日志采集,并将采集到的日志提供给我们。
obdiag gather scene run --scene=observer.recovery
observer.log
或 rs_svr.log
?通过这些信息,我们可以更准确地定位问题并提供解决方案。感谢您的配合!
更多信息请查看:
附上敏捷诊断工具 obdiag 使用帮助链接
根据您提供的日志和图片信息,我们可以看到在全量迁移过程中出现了以下问题:
日志信息:
event source process failed: [ not support parse createFunction ]
,这表明在处理某些 DDL 语句时,OMS 不支持解析 CREATE FUNCTION
语句。CREATE DEFINER="user" FUNCTION `func_encode_userpassword`(v_password varchar(100), v_userid varchar(100)) RETURNS varchar(100) CHARSET utf8
SQL SECURITY INVOKER
BEGIN RETURN UPPER(MD5(CONCAT(v_userid,'|',v_password))); END
问题分析:
CREATE FUNCTION
语句时遇到了不支持的情况,导致全量迁移失败。手动处理:
obclient -h<目标IP> -P<端口> -u<用户名>@<租户名> -p<密码>
CREATE DEFINER="user" FUNCTION `func_encode_userpassword`(v_password varchar(100), v_userid varchar(100)) RETURNS varchar(100) CHARSET utf8
SQL SECURITY INVOKER
BEGIN RETURN UPPER(MD5(CONCAT(v_userid,'|',v_password))); END
忽略这些对象:
升级 OMS:
CREATE FUNCTION
语句的支持。手动创建函数:
obclient -h127.0.0.1 -P2881 -uroot@mysql -p
CREATE DEFINER="user" FUNCTION `func_encode_userpassword`(v_password varchar(100), v_userid varchar(100)) RETURNS varchar(100) CHARSET utf8
SQL SECURITY INVOKER
BEGIN RETURN UPPER(MD5(CONCAT(v_userid,'|',v_password))); END
重新启动全量迁移:
如果您在手动创建函数或重新启动全量迁移过程中遇到任何问题,请随时联系我们。希望这些步骤能帮助您解决问题!
详情请参考:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
看着是创建函数失败了 把下面的日志 发一下 上面的日志比较少
日志路径:/home/ds/store/store7101/log/libobcdc.log
这个路径不存在
oms是商业版么?
是社区版。文件还是没搜到。
查看了组件监控日志看到内存不足,加上取消了增量同步环节后,最终迁移数据成功了。
感谢淇铭老师 。
好的 主要我看日志 你没有发全 想让你在提供一下日志 内存不足确实会有问题的