【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.1
【问题描述】
OB 1-1-1 集群创建一个3副本租户,然后创建hash + range 二级分区表后,数据散落分布有点问题,比如我创建一张有custid 和monthid的表,表分区如下:
CREATE TABLE link_income_t1 (
monthid date,
custid number
)
PARTITION BY hash(custid)
SUBPARTITION BY RANGE(monthid)
(PARTITION p0
(
SUBPARTITION sp1 VALUES LESS THAN (TO_DATE('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp2 VALUES LESS THAN (TO_DATE('2021-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp3 VALUES LESS THAN (TO_DATE('2021-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp4 VALUES LESS THAN (TO_DATE('2021-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp5 VALUES LESS THAN (TO_DATE('2021-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp6 VALUES LESS THAN (TO_DATE('2021-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp7 VALUES LESS THAN (TO_DATE('2021-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp8 VALUES LESS THAN (TO_DATE('2021-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp9 VALUES LESS THAN (TO_DATE('2021-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp10 VALUES LESS THAN (TO_DATE('2021-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp11 VALUES LESS THAN (TO_DATE('2021-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp12 VALUES LESS THAN (TO_DATE('2021-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp13 VALUES LESS THAN (TO_DATE('2022-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp14 VALUES LESS THAN (TO_DATE('2022-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp15 VALUES LESS THAN (TO_DATE('2022-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp16 VALUES LESS THAN (TO_DATE('2022-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp17 VALUES LESS THAN (TO_DATE('2022-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp18 VALUES LESS THAN (TO_DATE('2022-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp19 VALUES LESS THAN (TO_DATE('2022-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp20 VALUES LESS THAN (TO_DATE('2022-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp21 VALUES LESS THAN (TO_DATE('2022-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp22 VALUES LESS THAN (TO_DATE('2022-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp23 VALUES LESS THAN (TO_DATE('2022-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp24 VALUES LESS THAN (TO_DATE('2022-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp25 values less than (maxvalue)),
PARTITION p1
(
SUBPARTITION sp26 VALUES LESS THAN (TO_DATE('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp27 VALUES LESS THAN (TO_DATE('2021-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp28 VALUES LESS THAN (TO_DATE('2021-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp29 VALUES LESS THAN (TO_DATE('2021-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp30 VALUES LESS THAN (TO_DATE('2021-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp31 VALUES LESS THAN (TO_DATE('2021-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp32 VALUES LESS THAN (TO_DATE('2021-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp33 VALUES LESS THAN (TO_DATE('2021-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp34 VALUES LESS THAN (TO_DATE('2021-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp35 VALUES LESS THAN (TO_DATE('2021-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp36 VALUES LESS THAN (TO_DATE('2021-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp37 VALUES LESS THAN (TO_DATE('2021-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp38 VALUES LESS THAN (TO_DATE('2022-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp39 VALUES LESS THAN (TO_DATE('2022-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp40 VALUES LESS THAN (TO_DATE('2022-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp41 VALUES LESS THAN (TO_DATE('2022-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp42 VALUES LESS THAN (TO_DATE('2022-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp43 VALUES LESS THAN (TO_DATE('2022-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp44 VALUES LESS THAN (TO_DATE('2022-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp45 VALUES LESS THAN (TO_DATE('2022-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp46 VALUES LESS THAN (TO_DATE('2022-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp47 VALUES LESS THAN (TO_DATE('2022-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp48 VALUES LESS THAN (TO_DATE('2022-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp49 VALUES LESS THAN (TO_DATE('2022-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp50 values less than (maxvalue)),
PARTITION p2
(
SUBPARTITION sp51 VALUES LESS THAN (TO_DATE('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp52 VALUES LESS THAN (TO_DATE('2021-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp53 VALUES LESS THAN (TO_DATE('2021-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp54 VALUES LESS THAN (TO_DATE('2021-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp55 VALUES LESS THAN (TO_DATE('2021-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp56 VALUES LESS THAN (TO_DATE('2021-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp57 VALUES LESS THAN (TO_DATE('2021-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp58 VALUES LESS THAN (TO_DATE('2021-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp59 VALUES LESS THAN (TO_DATE('2021-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp60 VALUES LESS THAN (TO_DATE('2021-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp61 VALUES LESS THAN (TO_DATE('2021-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp62 VALUES LESS THAN (TO_DATE('2021-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp63 VALUES LESS THAN (TO_DATE('2022-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp64 VALUES LESS THAN (TO_DATE('2022-02-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp65 VALUES LESS THAN (TO_DATE('2022-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp66 VALUES LESS THAN (TO_DATE('2022-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp67 VALUES LESS THAN (TO_DATE('2022-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp68 VALUES LESS THAN (TO_DATE('2022-06-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp69 VALUES LESS THAN (TO_DATE('2022-07-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp70 VALUES LESS THAN (TO_DATE('2022-08-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp71 VALUES LESS THAN (TO_DATE('2022-09-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp72 VALUES LESS THAN (TO_DATE('2022-10-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp73 VALUES LESS THAN (TO_DATE('2022-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp74 VALUES LESS THAN (TO_DATE('2022-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) ,
SUBPARTITION sp75 values less than (maxvalue)
)
);
按个人理解,hash + range的目的是custid hash把主副本分散在三个节点内,然后每个节点内再按二级分区划分出多个分区,但是实际分区方案好像是直接按二级分区去散落数据主副本到对应的节点,一级分区压根没作用一样,分区实际效果如下所示:
obclient [oceanbase]> select TABLE_NAME,PARTITION_NAME,SUBPARTITION_NAME,ZONE from CDB_OB_TABLE_LOCATIONS where TENANT_ID=1002 and TABLE_NAME='link_income_t1' and ROLE='LEADER';
+----------------+----------------+-------------------+---------+
| TABLE_NAME | PARTITION_NAME | SUBPARTITION_NAME | ZONE |
+----------------+----------------+-------------------+---------+
| LINK_INCOME_T1 | P0 | SP1 | obzone1 |
| LINK_INCOME_T1 | P0 | SP2 | obzone1 |
| LINK_INCOME_T1 | P0 | SP3 | obzone1 |
| LINK_INCOME_T1 | P0 | SP4 | obzone1 |
| LINK_INCOME_T1 | P0 | SP5 | obzone1 |
| LINK_INCOME_T1 | P0 | SP6 | obzone1 |
| LINK_INCOME_T1 | P0 | SP7 | obzone1 |
| LINK_INCOME_T1 | P0 | SP8 | obzone1 |
| LINK_INCOME_T1 | P0 | SP9 | obzone2 |
| LINK_INCOME_T1 | P0 | SP10 | obzone2 |
| LINK_INCOME_T1 | P0 | SP11 | obzone2 |
| LINK_INCOME_T1 | P0 | SP12 | obzone2 |
| LINK_INCOME_T1 | P0 | SP13 | obzone2 |
| LINK_INCOME_T1 | P0 | SP14 | obzone2 |
| LINK_INCOME_T1 | P0 | SP15 | obzone2 |
| LINK_INCOME_T1 | P0 | SP16 | obzone2 |
| LINK_INCOME_T1 | P0 | SP17 | obzone3 |
| LINK_INCOME_T1 | P0 | SP18 | obzone3 |
| LINK_INCOME_T1 | P0 | SP19 | obzone3 |
| LINK_INCOME_T1 | P0 | SP20 | obzone3 |
| LINK_INCOME_T1 | P0 | SP21 | obzone3 |
| LINK_INCOME_T1 | P0 | SP22 | obzone3 |
| LINK_INCOME_T1 | P0 | SP23 | obzone3 |
| LINK_INCOME_T1 | P0 | SP24 | obzone3 |
| LINK_INCOME_T1 | P0 | SP25 | obzone3 |
| LINK_INCOME_T1 | P1 | SP26 | obzone1 |
| LINK_INCOME_T1 | P1 | SP27 | obzone1 |
| LINK_INCOME_T1 | P1 | SP28 | obzone1 |
| LINK_INCOME_T1 | P1 | SP29 | obzone1 |
| LINK_INCOME_T1 | P1 | SP30 | obzone1 |
| LINK_INCOME_T1 | P1 | SP31 | obzone1 |
| LINK_INCOME_T1 | P1 | SP32 | obzone1 |
| LINK_INCOME_T1 | P1 | SP33 | obzone1 |
| LINK_INCOME_T1 | P1 | SP34 | obzone2 |
| LINK_INCOME_T1 | P1 | SP35 | obzone2 |
| LINK_INCOME_T1 | P1 | SP36 | obzone2 |
| LINK_INCOME_T1 | P1 | SP37 | obzone2 |
| LINK_INCOME_T1 | P1 | SP38 | obzone2 |
| LINK_INCOME_T1 | P1 | SP39 | obzone2 |
| LINK_INCOME_T1 | P1 | SP40 | obzone2 |
| LINK_INCOME_T1 | P1 | SP41 | obzone2 |
| LINK_INCOME_T1 | P1 | SP42 | obzone3 |
| LINK_INCOME_T1 | P1 | SP43 | obzone3 |
| LINK_INCOME_T1 | P1 | SP44 | obzone3 |
| LINK_INCOME_T1 | P1 | SP45 | obzone3 |
| LINK_INCOME_T1 | P1 | SP46 | obzone3 |
| LINK_INCOME_T1 | P1 | SP47 | obzone3 |
| LINK_INCOME_T1 | P1 | SP48 | obzone3 |
| LINK_INCOME_T1 | P1 | SP49 | obzone3 |
| LINK_INCOME_T1 | P1 | SP50 | obzone3 |
| LINK_INCOME_T1 | P2 | SP51 | obzone1 |
| LINK_INCOME_T1 | P2 | SP52 | obzone1 |
| LINK_INCOME_T1 | P2 | SP53 | obzone1 |
| LINK_INCOME_T1 | P2 | SP54 | obzone1 |
| LINK_INCOME_T1 | P2 | SP55 | obzone1 |
| LINK_INCOME_T1 | P2 | SP56 | obzone1 |
| LINK_INCOME_T1 | P2 | SP57 | obzone1 |
| LINK_INCOME_T1 | P2 | SP58 | obzone1 |
| LINK_INCOME_T1 | P2 | SP59 | obzone2 |
| LINK_INCOME_T1 | P2 | SP60 | obzone2 |
| LINK_INCOME_T1 | P2 | SP61 | obzone2 |
| LINK_INCOME_T1 | P2 | SP62 | obzone2 |
| LINK_INCOME_T1 | P2 | SP63 | obzone2 |
| LINK_INCOME_T1 | P2 | SP64 | obzone2 |
| LINK_INCOME_T1 | P2 | SP65 | obzone2 |
| LINK_INCOME_T1 | P2 | SP66 | obzone2 |
| LINK_INCOME_T1 | P2 | SP67 | obzone3 |
| LINK_INCOME_T1 | P2 | SP68 | obzone3 |
| LINK_INCOME_T1 | P2 | SP69 | obzone3 |
| LINK_INCOME_T1 | P2 | SP70 | obzone3 |
| LINK_INCOME_T1 | P2 | SP71 | obzone3 |
| LINK_INCOME_T1 | P2 | SP72 | obzone3 |
| LINK_INCOME_T1 | P2 | SP73 | obzone3 |
| LINK_INCOME_T1 | P2 | SP74 | obzone3 |
| LINK_INCOME_T1 | P2 | SP75 | obzone3 |
+----------------+----------------+-------------------+---------+
75 rows in set (0.561 sec)
obclient [oceanbase]> select * from CDB_OB_TABLE_LOCATIONS where TENANT_ID=1002 and TABLE_NAME='link_income_t1' and SUBPARTITION_NAME in ("SP1","SP26","sp51") and ROLE='LEADER';
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
| TENANT_ID | DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE | SVR_IP | SVR_PORT | ROLE | REPLICA_TYPE |
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P0 | SP1 | NULL | NULL | 200805 | 1001 | obzone1 | 245.0.2.36 | 2882 | LEADER | FULL |
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P1 | SP26 | NULL | NULL | 200830 | 1001 | obzone1 | 245.0.2.36 | 2882 | LEADER | FULL |
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P2 | SP51 | NULL | NULL | 200855 | 1001 | obzone1 | 245.0.2.36 | 2882 | LEADER | FULL |
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
3 rows in set (0.043 sec)
按我理解的二级分区后,主副本数据分布情况应该是这样的(按照个人理解弄的虚拟主分区分布情况)
obclient [oceanbase]> select TABLE_NAME,PARTITION_NAME,SUBPARTITION_NAME,ZONE from CDB_OB_TABLE_LOCATIONS where TENANT_ID=1002 and TABLE_NAME='link_income_t1' and ROLE='LEADER';
+----------------+----------------+-------------------+---------+
| TABLE_NAME | PARTITION_NAME | SUBPARTITION_NAME | ZONE |
+----------------+----------------+-------------------+---------+
| LINK_INCOME_T1 | P0 | SP1 | obzone1 |
| LINK_INCOME_T1 | P0 | SP2 | obzone1 |
| LINK_INCOME_T1 | P0 | SP3 | obzone1 |
| LINK_INCOME_T1 | P0 | SP4 | obzone1 |
| LINK_INCOME_T1 | P0 | SP5 | obzone1 |
| LINK_INCOME_T1 | P0 | SP6 | obzone1 |
| LINK_INCOME_T1 | P0 | SP7 | obzone1 |
| LINK_INCOME_T1 | P0 | SP8 | obzone1 |
| LINK_INCOME_T1 | P0 | SP9 | obzone1 |
| LINK_INCOME_T1 | P0 | SP10 | obzone1 |
| LINK_INCOME_T1 | P0 | SP11 | obzone1 |
| LINK_INCOME_T1 | P0 | SP12 | obzone1 |
| LINK_INCOME_T1 | P0 | SP13 | obzone1 |
| LINK_INCOME_T1 | P0 | SP14 | obzone1 |
| LINK_INCOME_T1 | P0 | SP15 | obzone1 |
| LINK_INCOME_T1 | P0 | SP16 | obzone1 |
| LINK_INCOME_T1 | P0 | SP17 | obzone1 |
| LINK_INCOME_T1 | P0 | SP18 | obzone1 |
| LINK_INCOME_T1 | P0 | SP19 | obzone1 |
| LINK_INCOME_T1 | P0 | SP20 | obzone1 |
| LINK_INCOME_T1 | P0 | SP21 | obzone1 |
| LINK_INCOME_T1 | P0 | SP22 | obzone1 |
| LINK_INCOME_T1 | P0 | SP23 | obzone1 |
| LINK_INCOME_T1 | P0 | SP24 | obzone1 |
| LINK_INCOME_T1 | P0 | SP25 | obzone1 |
| LINK_INCOME_T1 | P1 | SP26 | obzone2 |
| LINK_INCOME_T1 | P1 | SP27 | obzone2 |
| LINK_INCOME_T1 | P1 | SP28 | obzone2 |
| LINK_INCOME_T1 | P1 | SP29 | obzone2 |
| LINK_INCOME_T1 | P1 | SP30 | obzone2 |
| LINK_INCOME_T1 | P1 | SP31 | obzone2 |
| LINK_INCOME_T1 | P1 | SP32 | obzone2 |
| LINK_INCOME_T1 | P1 | SP33 | obzone2 |
| LINK_INCOME_T1 | P1 | SP34 | obzone2 |
| LINK_INCOME_T1 | P1 | SP35 | obzone2 |
| LINK_INCOME_T1 | P1 | SP36 | obzone2 |
| LINK_INCOME_T1 | P1 | SP37 | obzone2 |
| LINK_INCOME_T1 | P1 | SP38 | obzone2 |
| LINK_INCOME_T1 | P1 | SP39 | obzone2 |
| LINK_INCOME_T1 | P1 | SP40 | obzone2 |
| LINK_INCOME_T1 | P1 | SP41 | obzone2 |
| LINK_INCOME_T1 | P1 | SP42 | obzone2 |
| LINK_INCOME_T1 | P1 | SP43 | obzone2 |
| LINK_INCOME_T1 | P1 | SP44 | obzone2 |
| LINK_INCOME_T1 | P1 | SP45 | obzone2 |
| LINK_INCOME_T1 | P1 | SP46 | obzone2 |
| LINK_INCOME_T1 | P1 | SP47 | obzone2 |
| LINK_INCOME_T1 | P1 | SP48 | obzone2 |
| LINK_INCOME_T1 | P1 | SP49 | obzone2 |
| LINK_INCOME_T1 | P1 | SP50 | obzone2 |
| LINK_INCOME_T1 | P2 | SP51 | obzone3 |
| LINK_INCOME_T1 | P2 | SP52 | obzone3 |
| LINK_INCOME_T1 | P2 | SP53 | obzone3 |
| LINK_INCOME_T1 | P2 | SP54 | obzone3 |
| LINK_INCOME_T1 | P2 | SP55 | obzone3 |
| LINK_INCOME_T1 | P2 | SP56 | obzone3 |
| LINK_INCOME_T1 | P2 | SP57 | obzone3 |
| LINK_INCOME_T1 | P2 | SP58 | obzone3 |
| LINK_INCOME_T1 | P2 | SP59 | obzone3 |
| LINK_INCOME_T1 | P2 | SP60 | obzone3 |
| LINK_INCOME_T1 | P2 | SP61 | obzone3 |
| LINK_INCOME_T1 | P2 | SP62 | obzone3 |
| LINK_INCOME_T1 | P2 | SP63 | obzone3 |
| LINK_INCOME_T1 | P2 | SP64 | obzone3 |
| LINK_INCOME_T1 | P2 | SP65 | obzone3 |
| LINK_INCOME_T1 | P2 | SP66 | obzone3 |
| LINK_INCOME_T1 | P2 | SP67 | obzone3 |
| LINK_INCOME_T1 | P2 | SP68 | obzone3 |
| LINK_INCOME_T1 | P2 | SP69 | obzone3 |
| LINK_INCOME_T1 | P2 | SP70 | obzone3 |
| LINK_INCOME_T1 | P2 | SP71 | obzone3 |
| LINK_INCOME_T1 | P2 | SP72 | obzone3 |
| LINK_INCOME_T1 | P2 | SP73 | obzone3 |
| LINK_INCOME_T1 | P2 | SP74 | obzone3 |
| LINK_INCOME_T1 | P2 | SP75 | obzone3 |
+----------------+----------------+-------------------+---------+
75 rows in set (0.561 sec)
obclient [oceanbase]> select * from CDB_OB_TABLE_LOCATIONS where TENANT_ID=1002 and TABLE_NAME='link_income_t1' and SUBPARTITION_NAME in ("SP1","SP26","sp51") and ROLE='LEADER';
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
| TENANT_ID | DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE | SVR_IP | SVR_PORT | ROLE | REPLICA_TYPE |
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P0 | SP1 | NULL | NULL | 200805 | 1001 | obzone1 | 245.0.2.36 | 2882 | LEADER | FULL |
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P1 | SP26 | NULL | NULL | 200830 | 1001 | obzone2 | 245.0.2.36 | 2882 | LEADER | FULL |
| 1002 | BCTEST | LINK_INCOME_T1 | 500855 | USER TABLE | P2 | SP51 | NULL | NULL | 200855 | 1001 | obzone3 | 245.0.2.36 | 2882 | LEADER | FULL |
+-----------+---------------+----------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+---------+------------+----------+--------+--------------+
3 rows in set (0.043 sec)