/*在表的segment header里记录了一个值,叫高水位标记(High Water Mark,简称HWM)。HWM表示当前segment里使用的最后一个数据块的位置。当发生insert时,由于不断扩展数据块,因此会不断增加HWM的值。*/
DECLARE
L_TOTAL_BLOCKS NUMBER; --表示表里占用的数据块的总个数
L_TOTAL_BYTES NUMBER;
L_UNUSED_BLOCKS NUMBER;
L_UNUSED_BYTES NUMBER;
L_LASTUSEDEXFILEID NUMBER;
L_LAST_USED_EXTENT_BLOCK_ID NUMBER; --表里最后使用的EXTENT的起始数据块号
L_LAST_USED_BLOCK NUMBER; --表里最后一个被使用的数据块的块号
BEGIN
DBMS_SPACE.UNUSED_SPACE(SEGMENT_OWNER => '&SEGMENT_OWNER',
SEGMENT_NAME => '&SEGMENT_NAME',
SEGMENT_TYPE => 'TABLE',
TOTAL_BLOCKS => L_TOTAL_BLOCKS,
TOTAL_BYTES => L_TOTAL_BYTES,
UNUSED_BLOCKS => L_UNUSED_BLOCKS,
UNUSED_BYTES => L_UNUSED_BYTES,
LAST_USED_EXTENT_FILE_ID => L_LASTUSEDEXFILEID,
LAST_USED_EXTENT_BLOCK_ID => L_LAST_USED_EXTENT_BLOCK_ID,
LAST_USED_BLOCK => L_LAST_USED_BLOCK);
DBMS_OUTPUT.PUT_LINE(RPAD('TOTAL BLOCKS', 40, '.') || L_TOTAL_BLOCKS);
DBMS_OUTPUT.PUT_LINE(RPAD('TOTAL BYTES', 40, '.') || L_TOTAL_BYTES);
DBMS_OUTPUT.PUT_LINE(RPAD('UNUSED BLOCKS', 40, '.') || L_UNUSED_BLOCKS);
DBMS_OUTPUT.PUT_LINE(RPAD('UNUSED BYTES', 40, '.') || L_UNUSED_BYTES);
DBMS_OUTPUT.PUT_LINE(RPAD('LAST USED EXTENT FILEID', 40, '.') || L_LASTUSEDEXFILEID);
DBMS_OUTPUT.PUT_LINE(RPAD('LAST USED EXTENT BLOCKID', 40, '.') || L_LAST_USED_EXTENT_BLOCK_ID);
DBMS_OUTPUT.PUT_LINE(RPAD('LAST USED BLOCK', 40, '.') || L_LAST_USED_BLOCK);
END;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24389441/viewspace-1056678/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24389441/viewspace-1056678/