这个数据量是由哪些数据组成的?如何控制?

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】4.3
【问题描述】ocp-express中显示的数据量是由哪些数据组成的?ocp的一天会增长几百兆,访问量还不大。主数据库也不大。
image
用root查询数据库才几百兆,但面板上显示5.8G这个有点不理解。麻烦提供下相关资料。
image
这是用ocp查询的数据库,才200MB,但面板上显示17.47GB
image

ob参考才用的是预占用方式。并非实际数据。

是不是可以这么理解 就是真实占用可能是500MB 但是预占用的空间是15G
然后这个预占用比例或者增长参数是哪里配置的?能否告知下
还有一个问题是OCP那个数据量一两天就会涨个几百兆,访问量又不大,这么涨下去有点吃不消。想了解下这里面的具体逻辑。

  1. 租户规格:select name,memory_size/1024/1024/1024 mem, log_disk_size/1024/1024/1024 log_disk from dba_ob_unit_configs;

2.集群资源:select a.zone, a.SVR_IP,a.SVR_PORT, b.status,cpu_capacity,cpu_assigned_max,cpu_capacity-cpu_assigned_max as cpu_free,round(memory_limit /1024/1024/1024 ,2) as memory_total_gb,round((memory_limit-mem_capacity) /1024/1024/1024 ,2) as system_memory_gb,round(mem_assigned /1024/1024/1024 ,2) as mem_assigned_gb,round((mem_capacity-mem_assigned) /1024/1024/1024 ,2) as memory_free_gb,round(log_disk_capacity /1024/1024/1024 ,2) as log_disk_capacity_gb,round(log_disk_assigned /1024/1024/1024 ,2) as log_disk_assigned_gb,round((log_disk_capacity-log_disk_assigned) /1024/1024/1024 ,2) as log_disk_free_gb,round((data_disk_capacity /1024/1024/1024 ),2) as data_disk_gb,round((data_disk_in_use /1024/1024/1024 ),2) as data_disk_used_gb,round((data_disk_capacity-data_disk_in_use) /1024/1024/1024 ,2) as data_disk_free_gb from gv$ob_servers a join oceanbase.DBA_OB_SERVERS b on a.zone=b.zone\G;

可以先通过GV$OB_MEMORY参数查一下:OceanBase分布式数据库-海量数据 笔笔算数

不好意思 我可能一下子问的太多了,然后看您的回复看的有点云里雾里的。
我分解一下:
我磁盘总空间是150G,然后现在OCP显示数据量是17.54G,但实际我查询出来数据库才使用200MB
image
image
这个我是不是理解为 17.54G是ocp租户预占用的空间不是实际使用空间,我查出来的200MB才是数据库的实际占用空间

是的

那这个预占用空间是怎么计算出来的?我是不是可以通过配置来调整预占用空间大小

datafile_size 和 log_disk_size 参数 两个参数一个控制的是数据盘,一个控制的是日志盘大小,可以使用show parameters like ‘%datafile%’ 和 % log_disk_size% 查看参数生效范围,另外datafile_size 不支持调小。

磁盘是150G,ocp可能是租户。17.54G是租户的使用空间大小。

你说使用空间我就有点混淆,这个17.54G应该是ocp租户的预占用空间大小吧?
我的datafile_size 是5G
log_disk_size是14G

  1. 租户规格:select name,memory_size/1024/1024/1024 mem, log_disk_size/1024/1024/1024 log_disk from dba_ob_unit_configs;

2.集群资源:select a.zone, a.SVR_IP,a.SVR_PORT, b.status,cpu_capacity,cpu_assigned_max,cpu_capacity-cpu_assigned_max as cpu_free,round(memory_limit /1024/1024/1024 ,2) as memory_total_gb,round((memory_limit-mem_capacity) /1024/1024/1024 ,2) as system_memory_gb,round(mem_assigned /1024/1024/1024 ,2) as mem_assigned_gb,round((mem_capacity-mem_assigned) /1024/1024/1024 ,2) as memory_free_gb,round(log_disk_capacity /1024/1024/1024 ,2) as log_disk_capacity_gb,round(log_disk_assigned /1024/1024/1024 ,2) as log_disk_assigned_gb,round((log_disk_capacity-log_disk_assigned) /1024/1024/1024 ,2) as log_disk_free_gb,round((data_disk_capacity /1024/1024/1024 ),2) as data_disk_gb,round((data_disk_in_use /1024/1024/1024 ),2) as data_disk_used_gb,round((data_disk_capacity-data_disk_in_use) /1024/1024/1024 ,2) as data_disk_free_gb from gv$ob_servers a join oceanbase.DBA_OB_SERVERS b on a.zone=b.zone\G;

执行下我看下

image

我早上记录的数据量是
17.47GB ocp
5.80GB sys
现在的数据量是
17.58GB ocp
5.84GB sys
一天不到ocp的就又涨了100MB,如果17.47G是预占用空间的话,我数据库查询出来才几百兆,都没达到预占用空间的十分之一,怎么预占用空间就又涨了,我就是不明白这里面到底是怎么个逻辑。

select a.zone,a.svr_ip,b.tenant_name,b.tenant_type, a.max_cpu, a.min_cpu, round(a.memory_size/1024/1024/1024,2) memory_size_gb, round(a.log_disk_size/1024/1024/1024,2) log_disk_size, round(a.log_disk_in_use/1024/1024/1024,2) log_disk_in_use, round(a.data_disk_in_use/1024/1024/1024,2) data_disk_in_use from oceanbase.gv$ob_units a join oceanbase.dba_ob_tenants b on a.tenant_id=b.tenant_id order by b.tenant_name;
看下

你好 能继续指导下吗?
这个17.54G是怎么统计出来,万分感谢!

具体可以通过 GV$OB_UNITS视图来查看

谢谢 这个数值的由来搞懂了 是租户各个zone占用资源信息中data_disk_in_use的总和。