# Data disk
This topic describes the monitoring metrics related to the data disk within an OceanBase Database tenant. You can specify a statistical period to query the data disk metrics of a tenant in a single zone or on a single OBServer node.
data_disk_size
Definition
The size of space allocated to the tenant data disk within the statistical period.
Description
| Metric category | Metric name | Unit |
|---|---|---|
| data_disk_size | ob_tenant_data_size | Byte |
Calculation expression
sum(ob_tenant_server_data_size{@LABELS}) by (@GBLABELS)
SQL statements for metric collection
OceanBase Database of a version earlier than V4.0:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ tenant_id, svr_ip, svr_port, sum(data_size) as data_size, sum(required_size) as required_size, sum(row_count) row_count from (SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_virtual_meta_table union SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_root_table) group by tenant_id, svr_ip, svr_portOceanBase Database V4.0 and later:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ a.tenant_id,a.svr_ip,a.svr_port,sum(data_size) as data_size, sum(required_size) as required_size FROM CDB_OB_TABLE_LOCATIONS a LEFT JOIN (SELECT tenant_id,tablet_id,svr_ip,svr_port,data_size,required_size FROM __all_virtual_tablet_meta_table) b ON a.TENANT_ID = b.tenant_id AND a.tablet_id = b.tablet_id AND a.SVR_IP = b.SVR_IP AND a.SVR_PORT = b.SVR_PORT LEFT JOIN __all_virtual_table c ON a.TENANT_ID = c.TENANT_ID AND a.table_id = c.table_id group by a.tenant_id, a.svr_ip,a.svr_port
data_disk_used
Definition
The size of occupied space of the tenant data disk within the statistical period.
Description
| Metric category | Metric name | Unit |
|---|---|---|
| data_disk_used | ob_tenant_disk_used | Byte |
Calculation expression
sum(ob_tenant_server_required_size{@LABELS}) by (@GBLABELS)
SQL statements for metric collection
OceanBase Database of a version earlier than V4.0:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ tenant_id, svr_ip, svr_port, sum(data_size) as data_size, sum(required_size) as required_size, sum(row_count) row_count from (SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_virtual_meta_table union SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_root_table) group by tenant_id, svr_ip, svr_portOceanBase Database V4.0 and later:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ a.tenant_id,a.svr_ip,a.svr_port,sum(data_size) as data_size, sum(required_size) as required_size FROM CDB_OB_TABLE_LOCATIONS a LEFT JOIN (SELECT tenant_id,tablet_id,svr_ip,svr_port,data_size,required_size FROM __all_virtual_tablet_meta_table) b ON a.TENANT_ID = b.tenant_id AND a.tablet_id = b.tablet_id AND a.SVR_IP = b.SVR_IP AND a.SVR_PORT = b.SVR_PORT LEFT JOIN __all_virtual_table c ON a.TENANT_ID = c.TENANT_ID AND a.table_id = c.table_id group by a.tenant_id, a.svr_ip,a.svr_port
data_index_size
Definition
The index size on the tenant data disk within the statistical period.
Description
| Metric category | Metric name | Unit |
|---|---|---|
| data_index_size | ob_tenant_data_index_size | Byte |
Calculation expression
sum(ob_tenant_server_data_index_data_size{@LABELS}) by (@GBLABELS)
SQL statements for metric collection
OceanBase Database of a version earlier than V4.0:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ a.tenant_id,a.svr_ip,a.svr_port,SUM(data_size) AS data_size FROM cdb_ob_table_locations a JOIN (SELECT tenant_id,tablet_id,svr_ip,svr_port,data_size,required_size FROM __all_virtual_tablet_meta_table) b ON a.tenant_id = b.tenant_id AND a.tablet_id = b.tablet_id AND a.svr_ip = b.svr_ip AND a.svr_port = b.svr_port JOIN __all_virtual_table c ON a.tenant_id = c.tenant_id AND c.table_type = 5 AND a.table_id = c.table_id GROUP BY a.tenant_id,a.svr_ip,a.svr_portOceanBase Database V4.0 and later:
select /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ a.tenant_id, b.svr_ip, b.svr_port, sum(size) as data_size from __all_virtual_table_mgr b left join __all_virtual_table a on a.tenant_id = b.tenant_id and a.table_id = b.index_id where a.table_type = 5 group by 1, 2, 3
data_disk_used_percentage
Definition
The percentage of occupied space of the tenant data disk within the statistical period.
Description
| Metric category | Metric name | Unit |
|---|---|---|
| data_disk_used_percentage | ob_tenant_disk_used_percentage | % |
Calculation expression
100 * (sum(ob_tenant_server_required_size{@LABELS}) by (@GBLABELS) / sum(ob_tenant_disk_total_size{@LABELS}) by (@GBLABELS))
SQL statements for metric collection
ob_tenant_server_required_size
OceanBase Database of a version earlier than V4.0:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ tenant_id, svr_ip, svr_port, sum(data_size) as data_size, sum(required_size) as required_size, sum(row_count) row_count from (SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_virtual_meta_table union SELECT tenant_id, svr_ip, svr_port, table_id, partition_id, data_size, required_size, row_count FROM __all_root_table) group by tenant_id, svr_ip, svr_portOceanBase Database V4.0 and later:
SELECT /*+ READ_CONSISTENCY(WEAK) QUERY_TIMEOUT(50000000) */ a.tenant_id,a.svr_ip,a.svr_port,sum(data_size) as data_size, sum(required_size) as required_size FROM CDB_OB_TABLE_LOCATIONS a LEFT JOIN (SELECT tenant_id,tablet_id,svr_ip,svr_port,data_size,required_size FROM __all_virtual_tablet_meta_table) b ON a.TENANT_ID = b.tenant_id AND a.tablet_id = b.tablet_id AND a.SVR_IP = b.SVR_IP AND a.SVR_PORT = b.SVR_PORT LEFT JOIN __all_virtual_table c ON a.TENANT_ID = c.TENANT_ID AND a.table_id = c.table_id group by a.tenant_id, a.svr_ip,a.svr_port
ob_tenant_disk_total_size
OceanBase Database of a version earlier than V4.0:
SELECT t2.tenant_id, t2.tenant_name, t1.total_size FROM __all_virtual_disk_stat t1 JOIN (SELECT tenant_id, tenant_name, svr_ip, svr_port FROM `v$unit`) t2 ON t1.svr_ip=t2.svr_ip AND t1.svr_port=t2.svr_port WHERE t1.svr_ip = ? AND t1.svr_port = ?OceanBase Database V4.0 and later:
select /* MONITOR_AGENT */ T4.tenant_id as tenant_id, t4.tenant_name, t1.data_disk_capacity as total_size from V$OB_SERVERS t1 JOIN (SELECT t2.tenant_id, t3.tenant_name, t2.svr_ip, t2.svr_port FROM v$ob_units t2 left join DBA_OB_TENANTS t3 on t2.tenant_id=t3.tenant_id WHERE T3.tenant_type<>'META') t4 ON t1.svr_ip=t4.svr_ip AND t1.svr_port=t4.svr_port WHERE t1.svr_ip = ? AND t4.svr_port = ?