# Data disk

2025-03-28 08:05:55  Updated

# 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_port
    
  • OceanBase 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_port
    
  • OceanBase 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_port
    
  • OceanBase 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_port
      
    • OceanBase 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 = ?
      

Contact Us