OceanBase升级后为什么触发器没有了

【 使用环境 】 测试环境
【 OB or 其他组件 】
OceanBase 4.0.0 升级到 OceanBase 4.2.1
【问题描述】清晰明确描述问题
升级完成后,表的触发器没有了数据还在,表结构也看不到了。没有触发器的表是正常的
【附件及日志】
表可以打开


表结构看不了

执行以前的创建语句报错ERROR 4152 (42000): Null value
这个是创建的语法
hhit_asset.txt (945 字节)

1 个赞

问题表都删除不了

1 个赞

企业微信截图_17192016873607

1 个赞

得看下trace吧。。

1 个赞

大佬,怎么看了,现在是有问题的表都删除不掉,名字改不了,我想新建一个同名的表出来用都没办法。

1 个赞

是从4.0多少升级到421级呢
麻烦执行show variables like ‘version%’; 看下版本信息

1 个赞

执行失败了,用的是oceanbase-all-in-one-4.0.0.0-beta-100120221214162701.el7.x86_64.tar.gz里面的包。升级是4.0.0升级到4.1.0再到4.2.1的
4.1.0:oceanbase-ce-4.1.0.2-104010012023100710.el7.x86_64.rpm
4.2.1:oceanbase-ce-4.2.1.7-107000162024060611.el7.x86_64.rpm

1 个赞

不可用的表会报错没有可用的DDL

1 个赞

升级完成后建议使用obdiag巡检下,以及使用obdiag一键分析功能分析下升级时段及问题时段的日志,详细参考
https://www.oceanbase.com/docs/common-obdiag-cn-1000000000902135

例如:
obdiag check
obdiag analyze log --from=“2024-06-24 16:00:02” --to=“2024-06-24 17:10:02”

1 个赞

可以在sql_audit中根据query_sql查询失败的SQL语句然后找到对应的trace以及到哪台机器上去找

1 个赞

感觉是不是升级之前就必须把触发器删除掉,有触发器的表,整个就不可用。我这边还原回没有升级数据库的时候,删除触发器再升级数据库就可以了,我想是不是因为不支持数据库带触发器的直接升级

1 个赞

感觉与sql没关系吧,这张表就没有用了,我想是不是因为不支持数据库带触发器的直接升级,需要把触发器删除掉才可以

你把表结构贴一下 我们测试一下 看看是不是升级之后的版本问题

1.txt (3.4 KB)
我感觉只要有触发器的表都会有这个问题,这边有触发器的表全部都不可用了

触发器.txt (384 字节)

等这边测试完以后 再给你沟通 感谢你的配合

麻烦问一下 你搭建的测试环境是哪种方式搭建?哪种方式升的级 能把你升级的步骤贴一下 我们尽量还原在测试一下

搭建方式:一建安装那边提供的tar.gz包,使用命令行文档部署的,使用里面的数据库包,只部署了一个数据库
配置文件:
配置文件.txt (2.0 KB)
获取的安装包:oceanbase-all-in-one-4.0.0.0-beta-100120221214162701.el7.x86 64.tar.gz

升级方法:
升级步骤.txt (11.7 KB)
安装这个升级的,离线升级

1 个赞

可以修改吗

删掉重建试下

经过几轮的充分测试 ,确定了是升级以后造成的问题 ,非常感谢你发现的问题 后续会发版修复 ,目前建议安装最新版 ,先绕过这个问题。

1 个赞