了解DBMS_SPACE.UNUSED_SPACE的输出

时间:2019-02-02 07:17:33

标签: database oracle

我正在尝试分析表空间中的大量空间使用情况。使用DBMS_SPACE.UNUSED_SPACE查找未使用的块以计算高水位线(HWM)。 这是DBMS_SPACE.UNUSED_SPACE返回的输出:

Dbms_Output.Put_Line('TABLE_NAME::UNUSED_BLOCKS::'
                     || 'TOTAL_BLOCKS::HIGH_WATER_MARK');

Dbms_Space.Unused_Space(cur_rec.owner,
                     cur_rec.table_name,
                     'TABLE',
                     op1,op2,op3,op4,op5,op6,op7);

Dbms_Output.Put_Line(cur_rec.table_name || '::' 
                     || op3 || '::' 
                     || op1 || '::' 
                     || Trunc(op1-op3-1));

TA2 :: 0 :: 4552960 :: 4552959

TA3 :: 0 :: 3224960 :: 3224959

TA4 :: 0 :: 4859648 :: 4859647

TA5 :: 0 :: 48 :: 47

TA6 :: 0 :: 40 :: 39

TA7 :: 5 :: 8 :: 2

TA8 :: 5 :: 8:2

TA9 :: 5 :: 8 :: 2

我试图理解输出,但是无法准确解释它。例如,对于TA2,HWM = 4552959,但UNUSED_BLOCKS为零。这是否意味着没有删除发生,只有插入发生了?那么TA7呢,有5个UNUSED_BLOCKS。

0 个答案:

没有答案