OceanBase 关于一号表笔记与ERROR 1060(42S21)问题

OceanBase 关于客户端访问OceanBase 的表数据的过程说明

1.OBserver中的location cache 会保存observer 曾经访问过的实体表的位置信息(meta table 主要包括 __all_core_table、__all_root_table、__all_tenant_meta_table 三张内部表。OB 集群中所有实体表的 location(位置信息),以分区副本为粒度,记录在该层级关系中。)
2.Observer中的RsMgr 会记录RootServer 的rs_list信息,并获取Leader 的信息,从而找到Leader的RootServer所在的服务器上。而Leader的RootServer的内存中存放着__all_core_table 的信息,__all_core_table 属于OceanBase中的一号表
3.__all_core_table 中记录着__all_root_table表的位置。
4.__all_root_table 表记录着系统表的信息与__all_tenant_meta_table的位置信息。
5.__all_tenant_meta_table中记录着各租户的表位置信息。

需要关注的表还包括:
select table_name from __all_core_table group by table_name;
__all_core_table的table中存在7张表,可以观察7张表的内容。
select * from __all_column;
select * from __all_ddl_operation;
select * from __all_cluster;

问题记录:
select * from __all_column 中可以处理一个系统问题,
问题的发现与引发过程:
某一天,发现某个OceanBase的库无法使用show create tables 或者 show table stauts等语句,报错ERROR 1060 (42S21): Duplicat,且影响合并操作。

熟悉Mysql的都知道,该报错属于表字段重复问题。

解决办法:
1.定位库中哪个表在创建时,创建的重复字段。
2.根据定位的表在__all_column表中进行确认,然后修改__all_column表中的字段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值