开源三副本,请问通过什么命令可以查看哪个是主节点,哪个是备节点呢?查看表分区主副本的位置和大小

【产品名称】ob

【产品版本】

【问题描述】

开源三副本,请问通过什么命令可以查看哪个是主节点,哪个是备节点呢?

有两种方式:

  1. select t.tenant_name,t.database_name,t.table_name,p.svr_ip from gv$partition p,gv$table t where t.table_id=p.table_id and t.table_name in ('t10') and p.role=1;
  2. 查看某个实例(租户)下库表分区主副本的位置和大小

        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 表示备副本)