为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.0
【操作系统】:CentOS 7.9
【CPU】:48c Model name: Intel® Xeon® Gold 6126 CPU @ 2.60GHz
【问题描述】*:
通过视图 dba_data_files 和 dba_free_space 统计的表空间已使用空间跟 dba_segments里汇总统计的值差别很大。
SELECT F.TABLESPACE_NAME,
ROUND((T.TOTAL_SPACE - F.FREE_SPACE) / 1024) "USED (GB)",
ROUND(F.FREE_SPACE / 1024) "FREE (GB)",
ROUND(T.TOTAL_SPACE / 1024) "TOTAL(GB)",
(ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) || '% ' PER_FREE
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BLOCKS *
(SELECT PARA_VALUE / 1024
FROM V$DM_INI
WHERE PARA_NAME = 'GLOBAL_PAGE_SIZE') / 1024)) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) T
WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME AND T.TABLESPACE_NAME LIKE 'SYSBENCHDB%';
LINEID TABLESPACE_NAME USED (GB) FREE (GB) TOTAL(GB) PER_FREE
---------- --------------- --------- --------- --------- --------
1 SYSBENCHDB 3040 6 3046 0%
SELECT sum(bytes)/1024/1024/1024 size_gb
FROM dba_segments
WHERE tablespace_name='SYSBENCHDB';
LINEID SIZE_GB
---------- --------------------
1 1583
used time: 00:00:11.799. Execute id is 36261901.
上面一个说表空间已使用 3040GB,一个说是1583GB。 我之前确实有删除表的操作。
删除表是一天前的动作了。
这个问题也是多次重现。现在这个有出入的空间大小不知道被什么占用了。