OceanBase这种情况怎么解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
可能的原因有:
默认的omsrm数据库没有创建表。
OceanBase中默认有omsrm、systables这两个数据库,但它们没有实际的表结构,只是用来存放系统表的。
如果需要在omsrm中创建自己的表,需要手动使用CREATE TABLE语句创建。
obclient连接到了错误的数据库。
obclient默认连接到omsdb数据库,需要使用use '数据库名';切换到想要操作的数据库。
有额外的配置导致系统表无法创建。
一些第三方插件或配置可能影响OceanBase系统表的正常创建。
数据库异常。
如果排除上述因素,可能实际是数据库有问题,导致系统表丢失。
要解决此问题,可以:
使用CREATE TABLE创建所需表;
检查obclient连接的数据库是否正确;
3)排查第三方插件是否影响系统表;
到rm库中中查一下:select * from cluster_info
where is_default_cm
= 1,此回答整理自钉群“[社区]技术答疑群OceanBase”