
DBMS SPACE.SPACE USAGE - 日本エクセム株式会社 Oracle 技術情報
基本情報
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;
/