Question: What is the
dbms_space.space_usage used for? I want to get the space used
for a segment, and I need to understand how the
dbms_space.space_usage computes used space. Can
dbms_space.space_usage count-up actual row space used?
Answer: The dbms_space.space_usage
procedure is designed to show the space usage of data blocks
under the High Water Mark for that segment. Bitmap blocks,
segment header, and extent map blocks are not accounted for by
dbms_space.space_usage.
The dbms_space.space_usage
procedure can only be used on tablespaces that are created with auto
segment space management.
The
dbms_space package's space_usage procedure
can be used to
get the number of blocks in a partition:
set serveroutput on
declare
l_fs1_bytes number;
l_fs2_bytes number;
l_fs3_bytes number;
l_fs4_bytes number;
l_fs1_blocks number;
l_fs2_blocks number;
l_fs3_blocks number;
l_fs4_blocks number;
l_full_bytes number;
l_full_blocks number;
l_unformatted_bytes number;
l_unformatted_blocks number;
v_segname varchar2(500);
begin
see code
depot for full script
dbms_space.space_usage(
segment_owner => 'SCOTT,
segment_name => 'EMP,
segment_type => 'TABLE',
fs1_bytes =>
l_fs1_bytes,
fs1_blocks => l_fs1_blocks,
fs2_bytes => l_fs2_bytes,
fs2_blocks => l_fs2_blocks,
fs3_bytes => l_fs3_bytes,
fs3_blocks => l_fs3_blocks,
fs4_bytes => l_fs4_bytes,
fs4_blocks => l_fs4_blocks,
full_bytes => l_full_bytes,
full_blocks => l_full_blocks,
unformatted_blocks => l_unformatted_blocks,
unformatted_bytes => l_unformatted_bytes
);
dbms_output.enable;
dbms_output.put_line('=============================================');
dbms_output.put_line('total blocks =
'||to_char(l_fs1_blocks + l_fs2_blocks +
l_fs3_blocks + l_fs4_blocks + l_full_blocks)||
' || total bytes = '||
to_char(l_fs1_bytes + l_fs2_bytes +
l_fs3_bytes + l_fs4_bytes + l_full_bytes));
end;
The output from dbms_space.space_usage
is a count of how many blocks have certain amounts of free space.
Through the use of dbms_space.space_usage, you can
determine which blocks can be recovered.
There is
additional useful information on the dbms_space.space_usage
function available.
|
|
|
|
Guarantee your Success!
Oracle is the
world's most complex, robust and flexible database, considered
impossible to master without a mentor.
That's why all BC
Oracle trainers are working professionals, experts in Oracle who
share their tips and secrets. |
|
| |
|
Burleson is the American Team

Note:
This Oracle
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
Oracle forum.
Verify
experience!
Anyone
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
publish
their Oracle
qualifications.
Errata?
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
feedback. Just
e-mail:
and include the URL for the page.
Copyright ? 1996 - 2012
All rights reserved.
Oracle ?
is the registered trademark of Oracle Corporation.
|
|