当前位置: 代码网 > it编程>数据库>MsSqlserver > OceanBase 常用 SQL 语句及分区和分片详解

OceanBase 常用 SQL 语句及分区和分片详解

2026年08月26日 MsSqlserver 我要评论
有一段时间没有更新oceanbase相关文章了。前段时间一方面忙着其他事情,另一方面兴致来了,又连续写了一周的gaussdb博客。从今天开始,重新回到oceanbase,这篇文章先把之前学习和实践过程

有一段时间没有更新 oceanbase 相关文章了。前段时间一方面忙着其他事情,另一方面兴致来了,又连续写了一周的 gaussdb 博客。从今天开始,重新回到 oceanbase,这篇文章先把之前学习和实践过程中常用到的 sql 语句做一次汇总,也算是对前面内容的一次复习和整理。

1. observer 参数管理

1、查看 observer 的资源分配
select svr_ip, zone,cpu_capacity, cpu_assigned, round(memory_limit/1024/1024/1024,1) as mem_limit_gb, round(mem_capacity/1024/1024/1024,1) as mem_capacity_gb, round(mem_assigned/1024/1024/1024,1) as mem_assigned_gb, round(data_disk_allocated/1024/1024/1024,1) as data_allocated_gb, round(data_disk_in_use/1024/1024/1024,1) as data_used_gb, round(log_disk_capacity/1024/1024/1024,1) as log_disk_gb, round(log_disk_assigned/1024/1024/1024,1) as log_allocated_gb, round(log_disk_in_use/1024/1024/1024,1) as log_used_gb 
from oceanbase.gv$ob_servers;
2、查看集群配置项(parameter)
-- (1) gv$ob_parameters 视图,可以查看隐藏参数
select zone, svr_ip, name, value, info from oceanbase.gv$ob_parameters where name like 'memory_limit' or name like 'system_memory' order by name;
-- (2) show parameters 方法;
show parameters like 'memory_limit';
3、查看系统变量(variables)
-- (1) sys 租户可以查询所有租户的系统变量
 select * from oceanbase.cdb_ob_sys_variables where tenant_id=1002 and name='ob_query_timeout';
-- (2) mysql 租户查看本租户的 session_variables 和 global_variables 
select * from information_schema.session_variables where variable_name = 'ob_query_timeout';
select * from information_schema.global_variables  where variable_name = 'ob_query_timeout';
-- (3) oracle 租户查看本租户的 session_variables 和 global_variables 
select * from sys.tenant_virtual_global_variable;
select * from sys.tenant_virtual_session_variable;
4、修改集群级配置项,动态直接生效,少数 static_effective 静态参数需要重启生效
-- (1) 默认所有节点修改
alter system set memory_limit = '16g';
-- (2) 部分节点修改
alter system set memory_limit = '20g' server = '192.168.182.21:2882';
alter system set memory_limit = '10g' zone = 'zone2';
-- (3) 启动 observer 时指定参数,不会修改 `observer.config.bin` 文件,在内存级临时覆盖
/home/admin/oceanbase/bin/observer -i 192.168.182.21 -p 2882 ... -o "cpu_count=8,system_memory=2g"
5、修改租户配置项和系统变量
5.1、修改租户配置项(parameter)
-- (1) 登录业务租户修改
obclient -h192.168.182.23 -p2883 -uroot@ob_t1#obcluster -doceanbase -a -padmin@123
sql > alter system set freeze_trigger_percentage = 21;
-- (2) 在 sys 租户中修改
alter system set freeze_trigger_percentage = 20 tenant = 'ob_t1';
show parameters like 'freeze%' tenant = 'ob_t1';
5.2、修改租户系统变量(variables)
-- (1) 登录业务租户修改
obclient -h192.168.182.23 -p2883 -uroot@ob_t1#obcluster -doceanbase -a -p
sql > set ob_query_timeout = 60000000 ;
sql > set global ob_query_timeout = 60000000 ;
-- (2) 在 sys 租户中修改业务租户系统变量,经过测试修改的是 global 级别的系统变量
alter tenant ob_t1 set variables ob_query_timeout = 60000000 ;
-- (3) 开后门: sys 租户先切换租户再设置
alter system change tenant ob_t1; --切换到 ob_t1 租户
show tenant; --显示当前租户
set global ob_query_timeout = 20000000;

2. 租户管理

租户(tenant)可以类比传统数据库的实例,是 oceanbase 提供数据库服务和资源隔离的基本单位。多个租户共享同一套 oceanbase 集群,但各租户的数据、用户、权限及资源相互隔离。
租户包含 sys 租户 和 用户租户,用户租户有 oracle 兼容模式、mysql 兼容模式。其中 :

  • sys 租户​:系统租户,负责集群级管理,不存在对应的 meta 租户。
  • 用户租户​:真正为用户提供数据库服务的租户。
  • meta 租户​:每个用户租户都有一个对应的 meta 租户,主要用于管理该用户租户的内部元数据等信息。
1、创建租户
-- 创建租户三部曲:
-- 1. 创建资源规格  create resource unit unit_mini max_cpu=1, memory_size='2g';  
-- 2. 创建资源池    create resource pool mini_pool unit='unit_mini', unit_num=1, zone_list=('zone1','zone2','zone3');
-- 3. 创建租户     create tenant ob_t1, primary_zone = 'zone1,zone2,zone3', resource_pool_list=('mini_pool') set ob_tcp_invited_nodes='%';
2、 查看资源信息
-- 查看资源规格
select unit_config_id, name as unit_config_name, max_cpu, min_cpu, round(memory_size/1024/1024/1024,2) as mem_size_gb, round(log_disk_size/1024/1024/1024,2) as log_disk_size_gb,max_iops,min_iops from oceanbase.dba_ob_unit_configs order by unit_config_id;
-- 查看资源池
select resource_pool_id, name, tenant_id, unit_count, unit_config_id, zone_list from oceanbase.dba_ob_resource_pools order by tenant_id;
-- 查看资源单元实体
select unit_id, tenant_id, resource_pool_id, unit_group_id,zone, svr_ip, svr_port, max_cpu, min_cpu, round(memory_size/1024/1024/1024,2) as mem_size_gb, round(log_disk_size/1024/1024/1024,2) as log_disk_gb from oceanbase.dba_ob_units order by tenant_id, unit_id;
3、查看租户
-- 租户信息,包括租户名称、租户类型、租户兼容模式、primary_zone、副本和状态
select tenant_id, tenant_name, tenant_type, compatibility_mode, primary_zone, locality, status from oceanbase.dba_ob_tenants;
-- 查询已创建租户包含的节点 ip
select a.tenant_name,a.tenant_id,b.svr_ip from oceanbase.dba_ob_tenants a,oceanbase.gv$ob_units b where a.tenant_id=b.tenant_id order by 2,3;
-- 查看租户对应的资源池
select t.tenant_name, rp.name as resource_pool, u.unit_config_id, s.svr_ip
from oceanbase.dba_ob_tenants t
join oceanbase.dba_ob_resource_pools rp on t.tenant_id = rp.tenant_id
join oceanbase.dba_ob_units u on rp.resource_pool_id = u.resource_pool_id
join oceanbase.dba_ob_servers s on u.svr_ip = s.svr_ip
where t.tenant_type = 'user';
-- 查看租户 ➡️ 资源池 ➡️ 资源单元(unit) ➡️ 物理节点(observer) ➡️ 资源规格 完整链路和规格
select  t4.tenant_id, t4.tenant_name, t1.name resource_pool_name, t3.unit_id, t2.name unit_config_name,  t3.zone, concat(t3.svr_ip,':',t3.svr_port) observer,
t2.max_cpu, t2.min_cpu, 
round(t2.memory_size/1024/1024/1024,2) mem_size_gb,
round(t2.log_disk_size/1024/1024/1024,2) log_disk_size_gb
from __all_resource_pool t1
join __all_unit_config t2 on (t1.unit_config_id=t2.unit_config_id)
join __all_unit t3 on (t1.resource_pool_id = t3.resource_pool_id)
left join __all_tenant t4 on (t1.tenant_id=t4.tenant_id)
order by t1.resource_pool_id, t2.unit_config_id, t3.unit_id;
4、修改租户
-- 1. 修改 locality, locality 描述了数据的多个副本的类型及分布策略, locality: replicas{量词}@location 
alter tenant mysql locality=" f@zone1 , f@zone2 , f@zone3 "; 
-- replicas :副本类型,即 full 或 readonly,也可用 f 或 r 代替。 
-- 量词      :副本在指定可用区内的数量,固定为 1。 
-- location :可用区的名字。
-- 2. 修改 primary zone,逗号两侧优先级相同,分号左侧优先级高于右侧。
-- primary zone 决定了 oceanbase 数据库的流量分布。通过修改 primary zone 属性可以切换业务流量,适用于容灾场景、扩缩容等场景。
alter tenant mysql primary_zone='zone1;zone2;zone3';
alter tenant mysql primary_zone='zone1,zone2,zone3'; 
alter tenant mysql primary_zone='random';
5、切换租户
alter system change tenant ob_t1; --切换到 ob_t1 租户
6、登录租户,新创建的租户默认没有密码
-- 1. 直连登录
obclient -h192.168.182.21 -p2881 -uroot@ob_t1 -doceanbase -a
- root → 用户名(sys 租户超级管理员)
- @sys → 目标租户是 sys 租户
- #myoceanbase → 集群名(cluster name,建集群时定的 cluster_id/cluster_name)
-p:提示输入密码
-c:保留注释:客户端不剥离 sql 里的 /* comment */,不加 -c,obclient 会像 mysql 一样把注释删掉,hint 失效。
-a:--no-auto-rehash:禁用库名/表名自动补全的 hash 构建,连接库特别多、启动很慢时加 -a 能显著加快登录速度,代价:不能 tab 补全表名
#myoceanbase: 走 obproxy 时必须带 #集群名,否则 proxy 不知道路由到哪个集群;直连 observer 可省略 #集群名。
-d:连接后默认进入的 database 
-- 2. 通过 obproxy 登录
obclient -h192.168.182.23 -p2883 -uroot@ob_t1#obcluster -doceanbase -a
7、租户重命名
alter tenant old_tenant_name rename global_name to new_tenant_name;
8、锁定租户
alter tenant tenant_name lock | unlock;
9、租户扩缩容
-- 方法1:修改资源配置(垂直扩缩容)
-- (1) 调整资源配置,直接改规格大小,适合租户使用独立的资源配置的场景(规格只被当前一个租户使用) 
 alter resource unit uc1 max_cpu 6, memory_size '36g';
-- (2) 切换资源配置,切换到大的规格
alter resource pool pool1 unit 'uc2'; 
-- 方法2:调整资源单元个数(水平扩缩容),前提是 zone 有足够的 observer 数量
alter resource tenant tt unit_num 2';

3. 日志流管理

ob v4 版本日志流(log stream)是一个租户在同一个 observer 上的所有 leader 分区的聚合,由于日志流是与特定 observer 绑定的,因此,一个日志流通常对应于同一个 observer 上的所有 leader 分区,
即​同一个日志流中的不同分区的 leader 副本应分布在同一台 observer 上​,而不是分散在不同的 observer 上。
个人认为:从一致性复制组角度看,日志流的概念比较接近 tidb 中的 raft group ,oceanbase 的日志流是基于 paxos 的日志复制和事务管理单元,一个日志流可以承载多个 tablettikv 则以 region 为数据分片,一个 region 对应一个 raft group

日志流总数 = unit_num × (第一优先级的 zone 数量)
例如:

  • 1-1-1 的集群中 unit_num=1 ,primary_zone='zone1',那么日志流就是 1。
  • 2-2-2 的集群中 unit_num=1 ,primary_zone='zone1',那么日志流还是 1。
  • 2-2-2 的集群中 unit_num=2 ,primary_zone='random',即每区 2 个 unit × 3 个区同等优先级,就会有 2 x 3=6 个日志流。
-- 1. 查看 1002 租户每个 ls 的 leader 在哪台机器
obclient(root@sys)[oceanbase]> select tenant_id, ls_id, svr_ip, svr_port, role from oceanbase.gv$ob_log_stat where tenant_id = 1002 and role = 'leader' order by ls_id;
+-----------+-------+----------------+----------+--------+
| tenant_id | ls_id | svr_ip         | svr_port | role   |
+-----------+-------+----------------+----------+--------+
|      1002 |     1 | 192.168.182.21 |     2882 | leader |
|      1002 |  1001 | 192.168.182.21 |     2882 | leader |
|      1002 |  1002 | 192.168.182.22 |     2882 | leader |
|      1002 |  1003 | 192.168.182.23 |     2882 | leader |
+-----------+-------+----------------+----------+--------+
4 rows in set (0.007 sec)
租户 1002 有 4 个日志流(ls),每个 ls 的 leader 都分布在不同的 observer 上,实现了 leader 打散,没有单节点热点。
-- 2. 看 follower 副本是否齐全(验证 3 副本)
obclient(root@sys)[oceanbase]> select ls_id, svr_ip, role, in_sync from oceanbase.gv$ob_log_stat where tenant_id=1002 order by ls_id, role desc;
+-------+----------------+----------+---------+
| ls_id | svr_ip         | role     | in_sync |
+-------+----------------+----------+---------+
|     1 | 192.168.182.21 | leader   | yes     |
|     1 | 192.168.182.22 | follower | yes     |
|     1 | 192.168.182.23 | follower | yes     |
|  1001 | 192.168.182.21 | leader   | yes     |
|  1001 | 192.168.182.22 | follower | yes     |
|  1001 | 192.168.182.23 | follower | yes     |
|  1002 | 192.168.182.22 | leader   | yes     |
|  1002 | 192.168.182.21 | follower | yes     |
|  1002 | 192.168.182.23 | follower | yes     |
|  1003 | 192.168.182.23 | leader   | yes     |
|  1003 | 192.168.182.21 | follower | yes     |
|  1003 | 192.168.182.22 | follower | yes     |
+-------+----------------+----------+---------+
12 rows in set (0.007 sec)
-- 3. 查副本是否掉队(leader 与 follower 的 end_scn 差)
obclient(root@sys)[oceanbase]> select ls_id, svr_ip, role, end_scn, in_sync from oceanbase.gv$ob_log_stat where tenant_id = 1002 and ls_id = 1001 order by role;
+-------+----------------+----------+---------------------+---------+
| ls_id | svr_ip         | role     | end_scn             | in_sync |
+-------+----------------+----------+---------------------+---------+
|  1001 | 192.168.182.22 | follower | 1787653265688222000 | yes     |
|  1001 | 192.168.182.23 | follower | 1787653265688222000 | yes     |
|  1001 | 192.168.182.21 | leader   | 1787653265688222000 | yes     |
+-------+----------------+----------+---------------------+---------+
3 rows in set (0.006 sec)
-- 4. 看 paxos 成员是否完整(防脑裂)
obclient(root@sys)[oceanbase]> select ls_id, role, paxos_member_list, paxos_replica_num from oceanbase.gv$ob_log_stat where tenant_id=1002;
+-------+----------+-------------------------------------------------------------------+-------------------+
| ls_id | role     | paxos_member_list                                                 | paxos_replica_num |
+-------+----------+-------------------------------------------------------------------+-------------------+
|     1 | leader   | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1001 | leader   | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1002 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1003 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|     1 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1001 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1002 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1003 | leader   | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|     1 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1001 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1002 | leader   | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
|  1003 | follower | 192.168.182.21:2882:1,192.168.182.22:2882:1,192.168.182.23:2882:1 |                 3 |
+-------+----------+-------------------------------------------------------------------+-------------------+
12 rows in set (0.007 sec)
-- 5. 看 ls 整体状态(有无 creating/offline)
obclient(root@sys)[oceanbase]> select ls_id, status, primary_zone from oceanbase.cdb_ob_ls where tenant_id=1002;
+-------+--------+-------------------+
| ls_id | status | primary_zone      |
+-------+--------+-------------------+
|     1 | normal | zone1;zone2,zone3 |
|  1001 | normal | zone1;zone2,zone3 |
|  1002 | normal | zone2;zone1,zone3 |
|  1003 | normal | zone3;zone1,zone2 |
+-------+--------+-------------------+
4 rows in set (0.015 sec)
-- 6. 查看 clog 回收位点(判断是否还能建备租户),begin_lsn=0 表示该 ls 从创建到现在日志没被回收过,日志链完整。
obclient(root@sys)[oceanbase]> select ls_id, begin_lsn, begin_scn, end_scn from oceanbase.gv$ob_log_stat where tenant_id = 1002 and role='leader';
+-------+-----------+---------------------+---------------------+
| ls_id | begin_lsn | begin_scn           | end_scn             |
+-------+-----------+---------------------+---------------------+
|     1 |         0 |                   2 | 1787653423143022000 |
|  1001 |         0 | 1787647220628040001 | 1787653423143022000 |
|  1003 |         0 | 1787647220654945001 | 1787653423134993000 |
|  1002 |         0 | 1787647220643514001 | 1787653423137764000 |
+-------+-----------+---------------------+---------------------+
4 rows in set (0.006 sec)
-- 7. 看每个 ls 承载了哪些 tablet
-- (1) sys 租户专用 cdb_ob_table_locations
select a.ls_id, a.table_name, a.partition_name, a.tablet_id, a.role from oceanbase.cdb_ob_table_locations a where a.tenant_id=1002 and a.role='leader' order by a.ls_id, a.table_name;
-- (2) 业务租户使用 dba_ob_table_locations
select a.ls_id, a.table_name, a.partition_name, a.tablet_id, a.role from oceanbase.dba_ob_table_locations a where a.role='leader' order by a.ls_id, a.table_name;

4. 数据分区与分片

oceanbase 数据库参考传统数据库分区表(partition) 的概念,将一张表的数据划分到不同的分区中。
分区的数据存储在对应的 分片(tablet) 上,oceanbase 再将这些分片均衡地分布到多个 observer 上,从而实现数据的​分布式存储​。

4.1 分区(partition)

分区是用户创建的逻辑对象,是 oceanbase 进行数据分片的一种方式。

主要特点:

  • oceanbase 可以将同一张表的多个分区分布到多个 observer 节点上。
  • 多个节点共同组成一个完整的表数据,实现数据的分布式存储。
  • 未进行分区的表,以单分区表的形式存在。

例如创建一张包含 6 个 hash 分区的表:

create table t1
(
    c1 int,
    c2 varchar(100),
    c3 varchar(1000)
)
partition by hash(c1) partitions 6;
-- 查看分区子表
select table_name, partition_name from information_schema.partitions where table_schema ='test' and table_name = 't1';
+------------+----------------+
| table_name | partition_name |
+------------+----------------+
| t1         | p0             |
| t1         | p1             |
| t1         | p2             |
| t1         | p3             |
| t1         | p4             |
| t1         | p5             |
+------------+----------------+
-- 查看分区数量
select tenant_id, table_name, count(distinct tablet_id) as tablet_cnt from oceanbase.cdb_ob_table_locations where table_name = 't1' and role = 'leader' group by tenant_id, table_name;
+-----------+------------+------------+
| tenant_id | table_name | tablet_cnt |
+-----------+------------+------------+
|         1 | t1         |          6 |
+-----------+------------+------------+

4.2 分片(tablet)

tablet 是分区数据的存储对象,也是 oceanbase 数据均衡的最小单位。 partition 与 tablet 的关系

  • 普通表:

一个 partition 对应一个 tablet。

  • 索引的 tablet

索引的每个分区同样会对应一个 tablet。

-- 1. 创建 local 索引
create index i1 on t1(c2) local;
-- 2. 创建 global 索引,varchar 不支持 hash,但是可通过 key 序列化转换成 hash
create index i2 on t1(c3) global partition by key (c3) partitions 8;
-- 3. 查看指定表的索引及类型
select distinct
       t1.index_name,
       t1.table_name   as index_table_name,   
       t1.table_id     as index_table_id,
       t1.data_table_id as primary_table_id,
       t1.index_type    
from oceanbase.dba_ob_table_locations t1
join oceanbase.dba_ob_table_locations t2
  on t1.data_table_id = t2.table_id
where t2.database_name = 'test'
  and t2.table_name = 't1';
+------------+------------------+----------------+------------------+------------+
| index_name | index_table_name | index_table_id | primary_table_id | index_type |
+------------+------------------+----------------+------------------+------------+
| i1         | __idx_500049_i1  |         500062 |           500049 | local      |
| i2         | __idx_500049_i2  |         500071 |           500049 | global     |
+------------+------------------+----------------+------------------+------------+
-- 4. 查看索引副本/leader 分布
select
    index_name,
    partition_name,
    subpartition_name,
    tablet_id,
    ls_id,
    zone,
    svr_ip,
    svr_port,
    role,             
    replica_type      
from oceanbase.dba_ob_table_locations
where table_type = 'index'
  and data_table_id = (select distinct table_id
                       from oceanbase.dba_ob_table_locations
                       where database_name='test'
                         and table_name='t1'
                         and table_type='user table')
order by index_name, partition_name, role desc;
+------------+----------------+-------------------+---------------------+-------+-------+----------------+----------+----------+--------------+
| index_name | partition_name | subpartition_name | tablet_id           | ls_id | zone  | svr_ip         | svr_port | role     | replica_type |
+------------+----------------+-------------------+---------------------+-------+-------+----------------+----------+----------+--------------+
| i1         | p0             | null              | 1152921504606846999 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p0             | null              | 1152921504606846999 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p0             | null              | 1152921504606846999 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i1         | p1             | null              | 1152921504606847000 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p1             | null              | 1152921504606847000 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p1             | null              | 1152921504606847000 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i1         | p2             | null              | 1152921504606847001 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p2             | null              | 1152921504606847001 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p2             | null              | 1152921504606847001 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i1         | p3             | null              | 1152921504606847002 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p3             | null              | 1152921504606847002 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p3             | null              | 1152921504606847002 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i1         | p4             | null              | 1152921504606847003 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p4             | null              | 1152921504606847003 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p4             | null              | 1152921504606847003 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i1         | p5             | null              | 1152921504606847004 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i1         | p5             | null              | 1152921504606847004 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i1         | p5             | null              | 1152921504606847004 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p0             | null              | 1152921504606847005 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p0             | null              | 1152921504606847005 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p0             | null              | 1152921504606847005 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i2         | p1             | null              | 1152921504606847006 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p1             | null              | 1152921504606847006 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i2         | p1             | null              | 1152921504606847006 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p2             | null              | 1152921504606847007 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p2             | null              | 1152921504606847007 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i2         | p2             | null              | 1152921504606847007 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p3             | null              | 1152921504606847008 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p3             | null              | 1152921504606847008 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i2         | p3             | null              | 1152921504606847008 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p4             | null              | 1152921504606847009 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p4             | null              | 1152921504606847009 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
| i2         | p4             | null              | 1152921504606847009 |     1 | zone2 | 192.168.182.22 |     2882 | follower | full         |
| i2         | p5             | null              | 1152921504606847010 |     1 | zone1 | 192.168.182.21 |     2882 | leader   | full         |
| i2         | p5             | null              | 1152921504606847010 |     1 | zone3 | 192.168.182.23 |     2882 | follower | full         |
...
42 rows in set (0.052 sec)

总共 42 行:

  • 其中 i1 索引为 local 索引,和表分区数量相同,因此也是 6 个分区,每个索引 1 leader + 2 follower,总共是 18 条数据;
  • i2 索引为 global 索引,分区数量可以和表不同,创建时指定了 8 个分区,因此是 24 条数据。

  分区与分片内容不多,今天的主要时间花在总结上,明天重点介绍 oceanbase 的数据副本和日志流,这既是重点,也是是 obcp 的常考点。

到此这篇关于oceanbase 常用 sql 语句及分区和分片介绍的文章就介绍到这了,更多相关oceanbase 常用 sql 语句及分区和分片介绍内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com