oracle回收表空间碎片,关于回收表空间碎片(ALTER TABLESPACE COALESCE)后索引是否可用…

  • Post author:
  • Post category:其他


小弟刚入行,目前想做一下测试,就是在回收表空间碎片做 ANALYZE TABLE table_name COALESCE 操作后是否对原有索引产生影响,但是最后没有得到预期效果,希望各位给予指点,操作步骤如下:

–01.创建测试表

CREATE TABLE t_tab_coal AS

SELECT LEVEL AS NO,

DBMS_RANDOM.STRING(‘U’, 6) AS STR,

ROUND(DBMS_RANDOM.VALUE(1, 100000), 2)

FROM DUAL

CONNECT BY LEVEL <= 1000000;

–02.创建索引

CREATE INDEX UN_NO ON t_tab_coal(NO);

–03.查询表容量

SELECT SEGMENT_NAME, BYTES, BYTES / 1024 / 1024 MB

FROM USER_SEGMENTS

WHERE SEGMENT_TYPE = ‘TABLE’;

输出:

SEGMENT_NAME  BYTES     MB

————  ——–  —

T_TAB_COAL          25165824        24

SELECT SEGMENT_NAME “段名称”, SUM(BYTES) / 1024 / 1014 “分配物理空间数量(M)”

FROM USER_EXTENTS

GROUP BY SEGMENT_NAME;

输出:

段名称      分配物理空间数量(M)