Я пытаюсь проанализировать интенсивное использование пространства в табличном пространстве.Используется 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.