租户磁盘使用

【 使用环境 】生产环境
【 OB or 其他组件 】3.1.4-ce
单表6亿行,在合并delete 2亿行数据,insert 20w行数据;
合并结束后查询磁盘占用量,比合并前高了
磁盘占用量sql:

SELECT a.tenant_id , b.tenant_name, ROUND(SUM(required_size)/1024/1024/1024, 2) required_size_gb
from gv$partition a, __all_tenant b where a.tenant_id = b.tenant_id and b.tenant_name =

该sql与ocp资源管理租户磁盘占用量结果一致

正常的话,刚合并完会保留两个版本,所以占用量会更大,需要等一段时间,会清理掉老的版本,这个时候的占用量才是实际的

老师问下,3.x版本,普通租户查询自己的业务表磁盘使用量有这个sql吗

如果用户没有查看oceanbase数据库的权限的话,应该是没办法查的

普通租户有查询权限,怎么查呢,需求是想查询普通租户库下的各表的磁盘占有量

那试试这个吧,指定table id
select
b.tenant_id, b.table_id, count(distinct(c.macro_idx_in_data_file)) * 2 as
disk_size_in_MB
from
__all_virtual_table b
inner join
__all_virtual_partition_sstable_macro_info c on b.tenant_id = c.tenant_id and
b.table_id = c.table_id
where
b.tenant_id = xxx and b.table_id=yyy group by c.svr_ip, c.svr_port;

老师我的意思是站在普通租户的角度,不是sys;因为普通租户也有oceanbase库,也有读权限

这个sql里的表都是虚表,普通租户也可以查,可以查本租户下的记录

是不是遇到这个问题了 OceanBase表数据空洞处理最佳实践-数据库技术博客-OceanBase分布式数据库