资讯专栏INFORMATION COLUMN

OMS数据迁移之报错万金油解决方法

IT那活儿 / 1203人阅读
OMS数据迁移之报错万金油解决方法
[
事件背景
]


OceanBase迁移服务(OceanBaseMigration Service,OMS)是蚂蚁OceanBase提供的一种支持同构或异构RDBMS与OceanBase之间进行数据交互的服务,它提供了数据在线迁移和实时增量同步的数据复制能力。


之前给大家分享了OMS迁移过程中踩过的一些坑,有各种的报错、bug导致的问题。虽然这些阿里通过版本迭代予以了解决,但运维的魅力之一就是摁下了葫芦浮起了瓢,解决的就是瓢的问题。


在OMS正向迁移(Oracle->OB)过程中报错主要分两部分,一部分是链路问题,OMS也需要在源端以及目标端创建进程来抽取数据分析日志并写入目标端。这部分的问题我们运维人员更多是想办法排查并规避,更多的问题需要阿里工程师对OMS工具优化。今天我们主要分享表结构迁移和数据迁移过程中报错常见问题及解决方法。


[
场景回放
]

下面两种报错解决方式均通过具体的报错解决案例来介绍


(一)表结构迁移报错


这种处理方式主要处理表结构迁移过程中的报错,以及数据迁移过程中因为表结构问题,数据还未插入表中时产生的报错


案例:隐藏列异常(OMS迁移ORACLE到OB过程中会在OB端表上创建隐藏列以及一个约束)


报错现象:

图1:OMS全量迁移过程中隐藏列报错


解决步骤:

登录OB客户端->确认建表语句

showcreate table table_nameG


图2:报错表建表语句


可以看到建表语句中并没有创建上隐藏列,这时候就需要我们手工去修复,可以去查一下正确的建表语句


查看建表语句方法一:

图3:通过迁移任务结构迁移部分查看



图4:在结构迁移的表结构同步的子任务里可以看到具体表的信息


图5:查看报错表上下文找到DDL建表语句


查看建表语句方法二:


登录OMS的租户

图6:登录语句

切换OMS_META用户,useoms_meta

图7:查询OMS_DDL表找到报错表的建表语句


查询到正确的建表语句之后,在OB目标库删除有问题的表,然后执行建表语句,创建隐藏列和索引

图8:在OB端执行正确建表语句


图9:创建完表showcreate table检查建表语句,复检迁移作业


(二)数据迁移过程中报错

这种方式主要处理表中已导入部分数据,在全量迁移途中报错

案例:源端表空间move触发bug导致正在迁移的分区找不到(ADGBug)


报错现象:

图10:迁移任务报错页面

图11:oms后台报错日志,显示找不到对象


解决步骤:

针对这个bug,OB研发更新了OMS校验规则,更多的需要我们规避迁移过程中DDL操作,在解决了问题之后,需要登录oms主机登录管理docker,检查配置文件

dockerexec  -it oms bash

Cd/home/ds/run/134.80.184.66-9000:90243:0000000057/migrate/1


检查overview-done文件如果有报错表,手工删除下,overview-runing中找到报错表,随便修改一个不存在的名字避开校验

OB端清空报错表

obclient> truncate table SMSERXXXX;

QueryOK, 0 rows affected (1.13 sec)

obclient>truncate table I168USEXXXX;

QueryOK, 0 rows affected (0.99 sec)


处理完之后

发起复检


图12:复检之后作业正常继续


[
分析总结
]

在OB推行数据库商业化的过程中会存在各种各样的问题,需要我们大家协同发现问题,分析问题,解决问题。只有这样才能打造一款坚实的国产化产品。国产化必将是未来几年国内各行各业经济和技术革新的一个趋势。因此,基于近一段时间的问题的处理以及总结,针对OMS迁移过程中的一些问题我们也能做出相应的分类以及汇总,并总结出一定的处理方案。在这过程中,也使得我们使用人员对于迁移过程中涉及的原理有了更深的理解,这篇文章的分享就是我们近期在OMS迁移过程中探索的总结,虽不能覆盖所有问题,但类似问题的处理大同小异,都有共通之处,望给大家抛砖引玉。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130083.html

相关文章

  • OceanBase迁移服务:向分布式架构升级的直接路径

    摘要:年月日,迁移服务解决方案在城市峰会中正式发布。迁移服务向分布式架构升级的直接路径基于上述问题和挑战,同时经过蚂蚁十年数据库架构升级的先进经验,蚂蚁金服为客户打造了这款一站式数据迁移解决方案迁移服务,简称。 2019年1月4日,OceanBase迁移服务解决方案在ATEC城市峰会中正式发布。蚂蚁金服资深技术专家师文汇和技术专家韩谷悦共同分享了OceanBase迁移服务的重要特性和业务实践...

    KaltZK 评论0 收藏0
  • OceanBase迁移服务:向分布式架构升级的直接路径

    摘要:年月日,迁移服务解决方案在城市峰会中正式发布。迁移服务向分布式架构升级的直接路径基于上述问题和挑战,同时经过蚂蚁十年数据库架构升级的先进经验,蚂蚁金服为客户打造了这款一站式数据迁移解决方案迁移服务,简称。 2019年1月4日,OceanBase迁移服务解决方案在ATEC城市峰会中正式发布。蚂蚁金服资深技术专家师文汇和技术专家韩谷悦共同分享了OceanBase迁移服务的重要特性和业务实践...

    gnehc 评论0 收藏0
  • MaxCompute助力OSS支持EB级计算力

    摘要:作为阿里云大数据旗舰产品,的级别性能处理达到了全球领先性,被评为全球云端数据仓库领导者。天弘基金天弘基金旗下的余额宝,是中国规模最大的货币基金。场景二阿里云产品消费账单分析准备工作完成案例中准备工作步骤。 摘要: 一、 MaxCompute是什么 你的OSS数据是否作堆积在一旁沉睡已久存储成本变为企业负担你是否想唤醒沉睡的数据驱动你的业务前行MaxCompute可以帮助你高效且低成本的...

    Enlightenment 评论0 收藏0
  • 大话css预编译处理(一)通读介绍篇

    摘要:使用预编译处理的优势使用预处理器,可以提供缺失的样式层复用机制减少冗余代码,提高样式代码的可维护性。所以我们在实际项目中衡量预编译方案时,还是得想想,比起带来的额外维护开销,预处理器有没有解决更大的麻烦。 一、什么是css预编译处理? CSS 预编译处理,从字面上理解,就是预先编译处理CSS。它扩展了 CSS 语言,增加了变量、Mixin、函数等编程的特性,使 CSS 更易维护和扩展。...

    Backache 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<