What units used in DBA_TABLESPACE_USAGE_METRICS?
-
22-10-2019 - |
Question
What units are used in the usage metrics (USED_SPACE
and TABLESPACE_SIZE
columns) described in Oracle's DBA_TABLESPACE_USAGE_METRICS
static data dictionary view?
The Oracle Database Reference only tells they are the "Total space consumed by the tablespace" and "Total size of the tablespace", without mentioning units. Are they in bytes? Megabytes? Blocks?
Solution
Blocks. Blocks are the units of the DBA_TABLESPACE_USAGE_METRICS.USED_SPACE
and DBA_TABLESPACE_USAGE_METRICS.TABLESPACE_SIZE
. The latter column accounts for possible AUTOEXTEND MAXSIZE.
EDIT: I'm not sure what is the meaning of USED_SPACE for undo tablespace though. For example:
SQL> SELECT tablespace_name, sum(blocks), status FROM dba_undo_extents GROUP BY tablespace_name, status ;
TABLESPACE_NAME SUM(BLOCKS) STATUS
------------------------------ ----------- ---------
UNDOTBS1 128 ACTIVE
UNDOTBS1 5312 UNEXPIRED
UNDOTBS1 8960 EXPIRED
SQL> select USED_SPACE from DBA_TABLESPACE_USAGE_METRICS WHERE TABLESPACE_NAME='UNDOTBS1';
USED_SPACE
----------
2864
SQL> show parameter block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
OTHER TIPS
I usually calculate so:
SELECT tbm.TABLESPACE_NAME,
round(tbm.USED_SPACE * tb.BLOCK_SIZE /(1024*1024*1024),2) USED_SPACE_GB,
round(tbm.TABLESPACE_SIZE * tb.BLOCK_SIZE /(1024*1024*1024),2) TABLESPACE_SIZE_GB,
round((tbm.TABLESPACE_SIZE - tbm.USED_SPACE) * tb.BLOCK_SIZE /(1024*1024*1024),2) TABLESPACE_FREE_SIZE_GB,
tbm.USED_PERCENT
FROM dba_tablespace_usage_metrics tbm
join dba_tablespaces tb on tb.TABLESPACE_NAME = tbm.TABLESPACE_NAME
WHERE tbm.tablespace_name = 'tablespace_name'
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange