官网文档3.1.2 版本中查询leader副本分布情况问题


这里查询__all_meta_table 是空的,查询__all_virtual_meta_table 有数据,这里是写错了吗还是我操作不对?

测试了下,普通mysql租户下的OceanBase库没有__all_meta_table 这个表,Oracle租户没有OceanBase库,在sys租户下__all_meta_table 里没有数据,只有__all_virtual_meta_table里有数据。

文档连接:
https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361339

而且文档中的


这个操作,在设置primary zone 章节里边根本没有这个操作:
https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000361307


而且alter user 这个命令不是用来修改密码或者锁定用户的吗?
https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000358928

[Q5] 查看某个实例(租户)下库表分区主副本的位置和大小

SELECT t.tenant_id, a.tenant_name, t.table_name, d.database_name, tg.tablegroup_name , t.part_num , t2.partition_id, t2.ZONE, t2.svr_ip , round(t2.data_size/1024/1024/1024) data_size_gb
, a.primary_zone , IF(t.locality = ‘’ OR t.locality IS NULL, a.locality, t.locality) AS locality
FROM oceanbase.__all_tenant AS a
JOIN oceanbase.__all_virtual_database AS d ON ( a.tenant_id = d.tenant_id )
JOIN oceanbase.__all_virtual_table AS t ON (t.tenant_id = d.tenant_id AND t.database_id = d.database_id)
JOIN oceanbase.__all_virtual_meta_table t2 ON (t.tenant_id = t2.tenant_id AND (t.table_id=t2.table_id OR t.tablegroup_id=t2.table_id) AND t2.ROLE IN (1) )
LEFT JOIN oceanbase.__all_virtual_tablegroup AS tg ON (t.tenant_id = tg.tenant_id and t.tablegroup_id = tg.tablegroup_id)
WHERE a.tenant_id IN (1006 ) AND t.table_type IN (3)
– AND d.database_name = ‘T_FUND60PUB’
– and table_name in (‘BMSQL_HISTORY’)
ORDER BY t.tenant_id, tg.tablegroup_name, d.database_name, t.table_name, t2.partition_id
;

备注:

role : 1 表示 主副本; 2 表示备副本
tablegroup_name 为空,表示没有用到表分组。

官网这里写的意思是什么呢?是查特定某个租户吗?这个切主的部分应该是要查全部机器上所有的主副本分布情况吧?

测试了下,普通mysql租户下的OceanBase库没有__all_meta_table 这个表,Oracle租户没有OceanBase库,在sys租户下__all_meta_table 里没有数据,只有__all_virtual_meta_table里有数据。

通过__all_virtual_meta_table表可以查到就行,__all_meta_table可能已经进行了调整,文档还没来得及更新。

__all找不到的数据 用sys租户的__all_virtual