DBMS SPACE.SPACE USAGE
EXEM Knowledge Base
[편집] 개요
Segment의 공간 사용 정보를 얻을 수 있다. ASSM을 사용하는 환경에서 주로 사용된다.
[편집] 예제
-- ASSM을 쓰는 환경에서 Freeness별 블록 수를 구한다.
SQL> set serveroutput on
SQL>
declare
v_unformatted_blocks number;
v_unformatted_bytes number;
v_fs1_blocks number;
v_fs1_bytes number;
v_fs2_blocks number;
v_fs2_bytes number;
v_fs3_blocks number;
v_fs3_bytes number;
v_fs4_blocks number;
v_fs4_bytes number;
v_full_blocks number;
v_full_bytes number;
begin
dbms_space.space_usage ('&username', '&segment_name', '&segment_type',
v_unformatted_blocks,
v_unformatted_bytes, v_fs1_blocks, v_fs1_bytes, v_fs2_blocks, v_fs2_bytes,
v_fs3_blocks, v_fs3_bytes, v_fs4_blocks, v_fs4_bytes, v_full_blocks, v_full_bytes);
dbms_output.put_line('Unformatted Blocks = '||v_unformatted_blocks);
dbms_output.put_line('FS1 Blocks = '||v_fs1_blocks);
dbms_output.put_line('FS2 Blocks = '||v_fs2_blocks);
dbms_output.put_line('FS3 Blocks = '||v_fs3_blocks);
dbms_output.put_line('FS4 Blocks = '||v_fs4_blocks);
dbms_output.put_line('Full Blocks = '||v_full_blocks);
end;
/
-- FML을 사용하는 환경에서는 다음과 같이 dbms_space.free_blocks를 사용한다.
SQL>
DECLARE
free_blks NUMBER;
BEGIN
dbms_space.free_blocks('&owner','&segment_name,'&segment_type',0,free_blks);
dbms_output.put_line('Free Blocks: ' || TO_CHAR(free_blks));
END;
/