只适用于非ASSM:
create or replace
procedure show_space
( p_segname in varchar2,
p_owner in varchar2 default user,
p_type in varchar2 default 'TABLE' )
as
l_free_blks number;
l_total_blocks number;
l_total_bytes number;
l_unused_blocks number;
l_unused_bytes number;
l_LastUsedExtFileId number;
l_LastUsedExtBlockId number;
l_LAST_USED_BLOCK number;
procedure p( p_label in varchar2, p_num in number )
is
begin
dbms_output.put_line( rpad(p_label,40,'.') ||
p_num );
end;
begin
dbms_space.free_blocks
( segment_owner => p_owner,
segment_name => p_segname,
segment_type => p_type,
freelist_group_id => 0,
free_blks => l_free_blks );
dbms_space.unused_space
( segment_owner => p_owner,
segment_name => p_segname,
segment_type => p_type,
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_LastUsedExtFileId,
LAST_USED_EXTENT_BLOCK_ID => l_LastUsedExtBlockId,
LAST_USED_BLOCK => l_LAST_USED_BLOCK );
p( 'Free Blocks', l_free_blks );
p( 'Total Blocks', l_total_blocks );
p( 'Total Bytes', l_total_bytes );
p( 'Unused Blocks', l_unused_blocks );
p( 'Unused Bytes', l_unused_bytes );
p( 'Last Used Ext FileId', l_LastUsedExtFileId );
p( 'Last Used Ext BlockId', l_LastUsedExtBlockId );
p( 'Last Used Block', l_LAST_USED_BLOCK );
end;
/
例:
SQL> create table donny(id char(1024));
表已创建。
SQL> set serveroutput on
SQL> exec show_space('NCDBYANG')
Free Blocks.............................0
Total Blocks............................5
Total Bytes.............................40960
Unused Blocks...........................4
Unused Bytes............................32768
Last Used Ext FileId....................8
Last Used Ext BlockId...................27
Last Used Block.........................1
PL/SQL 过程已成功完成。
相关文章
- 09-29PL/SQL中的变量
- 09-29pl/sql中if的用法
- 09-29PL/SQL变量的作用域和可见性
- 09-29如何清除PL/SQL中的缓存
- 09-29用于PL / SQL的ANTLR解析器,目标语言为Java
- 09-291.PL/SQL Developer的快捷键
- 09-2911.PL_SQL——PL_SQL中的复合数据类型之COLLECTION(联合数组(Associative Arrays))
- 09-2910.PL_SQL——PL_SQL中的复合数据类型之RECORDS
- 09-298.PL_SQL——PL_SQL中的条件控制语句
- 09-29ORA-06502: PL/SQL: numeric or value error: character to number conversion error 错误的解决方法