【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】
【问题描述】240G数据量的MySQL,迁移过来后发现oceanbase设定的文件盘变成了4.5T,但是实际库的数据量查询出来还没100G,这4.5T是怎么来的
下面的信息 查一下
show parameters where name in (‘memory_limit’,‘memory_limit_percentage’,‘system_memory’,‘log_disk_size’,‘log_disk_percentage’,‘datafile_size’,‘datafile_disk_percentage’);
select zone,concat(SVR_IP,’:’,SVR_PORT) observer,
cpu_capacity_max cpu_total,cpu_assigned_max cpu_assigned,
cpu_capacity-cpu_assigned_max as cpu_free,
round(memory_limit/1024/1024/1024,2) as memory_total,
round((memory_limit-mem_capacity)/1024/1024/1024,2) as system_memory,
round(mem_assigned/1024/1024/1024,2) as mem_assigned,
round((mem_capacity-mem_assigned)/1024/1024/1024,2) as memory_free,
round(log_disk_capacity/1024/1024/1024,2) as log_disk_capacity,
round(log_disk_assigned/1024/1024/1024,2) as log_disk_assigned,
round((log_disk_capacity-log_disk_assigned)/1024/1024/1024,2) as log_disk_free,
round((data_disk_capacity/1024/1024/1024),2) as data_disk,
round((data_disk_in_use/1024/1024/1024),2) as data_disk_used,
round((data_disk_capacity-data_disk_in_use)/1024/1024/1024,2) as data_disk_free
from oceanbase.gv$ob_servers;
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;
根据您的指引查询发现有个租户数据盘分配了4556.83G,日志盘分配了1842.94G ,有两个问题请教老师,一是我没有分配这么大的磁盘,也不会分配这种数值的磁盘,这个是怎么来的;二是这个磁盘的机制是不是只要分配了就先占用,所以导致我检查占用了4.5T,而实际数据量还不到100G?
难道是压缩问题没有做好或者事务日志占用了多余空间
可以把查询的信息 发一下就知道了 如果查看的实际占用小 应该是设置的预分配的值 比较大造成的问题 预分配的值 这个没有问题 如果磁盘的空间是够的情况下 可以看看文档的解释
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476336
顶一下
学到了
