签到成功

知道了

CNDBA社区CNDBA社区

OceanBase OMS not support create table select as option 错误 解决方法

2023-10-08 17:17 378 0 原创 OceanBase
作者: dave

1 问题现象

OB 集群配置了2套OMS 同步:

1.OB 到OB 同步。
2.OB 到 MySQL 同步。http://www.cndba.cn/dave/article/131453

在OB源端通过CTAS 创建了一张表,然后OMS 同步异常,查看OMS日志,报错如下:http://www.cndba.cn/dave/article/131453

[ not support create table select as option, origin sql:/ ApplicationName=DBeaver 23.2.0 - SQLEditor / create table cndba.dave as select * from cndba.dave2 where 1=2http://www.cndba.cn/dave/article/131453

Caused by: java.lang.RuntimeException: table ambiguous, table:dave,db:ob.cndba

http://www.cndba.cn/dave/article/131453

2 问题分析

OB 用的是开源的版本,所以是MySQL模式。 在MySQL中,启用GTID后,也是不支持CTAS语法的,因为CTAS会生成两个sql,一个是DDL创建表SQL,一个是insert into 插入数据的sql。由于DDL会导致自动提交,所以这个sql至少需要两个GTID,但是GTID模式下,只能给这个sql生成一个GTID 。

但是在OB的MySQL 模式下,是可以执行CTAS 语法的,但是OMS 同步软件不支持,即使是目前最新的OMS 4.1.1版本。

3 解决方法

3.1 解决当前问题

因为当前已经触发了错误,需要通过跳表的操作来解决当前问题。

两个步骤:

1.在目标端手工创建好空表。
2.在OMS 配置跳表。

建表操作省略,在OMS 配置文件中修改JDBCWriter.coordinatorFile.skipDdl 选项,添加如下内容:

[“create table cndba.dave”]

然后重启OMS 同步任务。 然后OMS 就会恢复正常同步,因为这里只能控制ddl,后续的DML还是会继续同步过去。 http://www.cndba.cn/dave/article/131453

http://www.cndba.cn/dave/article/131453

3.2 规避方法

虽然OB支持CTAS,但是在生产环境,尤其是涉及到OMS同步的情况下,还是禁止使用该语法:http://www.cndba.cn/dave/article/131453

create table cndba.dave as select * from cndba.dave2 where 1=2;

可以将该CTAS 拆解为两部分:http://www.cndba.cn/dave/article/131453

1.create table 表A like 表B ;
2.insert into 表A select *from 表B ;

这样就不会影响到同步了:http://www.cndba.cn/dave/article/131453http://www.cndba.cn/dave/article/131453

mysql> create table cndba.ustc like cndba.dave2;
mysql> insert into cndba.ustc select * from cndba.dave2;

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2237
    原创
  • 2
    翻译
  • 535
    转载
  • 185
    评论
  • 访问:6531865次
  • 积分:4229
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ