请问OCP部署集群的zone列表的root service如何通过oceanbase库的SQL来获取的?

select * from oceanbase.dba_ob_zones;
select * from oceanbase.dba_ob_servers;
当前从oceanbase.dba_ob_zones和oceanbase.dba_ob_servers两表join无法获取上图红色方框里的信息。

找到一个比较麻烦的方法:
show parameters like ‘rootservice_list’; 拿到value之后,再和oceanbase.dba_ob_servers;表做关联拿到。拿到每个zone的root service以及主信息。

请问有更简洁和优雅的方式吗?

推荐一下obdiag的“一键集群洞察”功能,https://www.oceanbase.com/docs/common-obdiag-cn-1000000001491181

对应的SQL:https://github.com/oceanbase/obdiag/blob/master/handler/display/tasks/observer/cluster_info.yaml

2 个赞

试试 sys 租户下查询这个:

select zone,svr_ip,svr_port,role from oceanbase.dba_ob_ls_locations where ls_id=1;
1 个赞

可以取到,但是拿不到主角色和zone信息

这个可以的,我再找其他集群多验证几次