熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

關於使用SHOW

2013-11-13 16:24:55  來源: Oracle 

  只適用於非ASSM:
  
  create or replace
  procedure show_space
  ( p_segname in varchar
  p_owner in varchar default user
  p_type in varchar 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 varchar p_num in number )
  is
  begin
  dbms_outputput_line( rpad(p_label) ||
  p_num );
  end;
  begin
  dbms_spacefree_blocks
  ( segment_owner => p_owner
  segment_name => p_segname
  segment_type => p_type
  freelist_group_id =>
  free_blks => l_free_blks );
  dbms_spaceunused_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());
  
  表已創建
  
  SQL> set serveroutput on
  
  SQL> exec show_space(DONNY)
  Free Blocks
  Total Blocks
  Total Bytes
  Unused Blocks
  Unused Bytes
  Last Used Ext FileId
  Last Used Ext BlockId
  Last Used Block
  
  PL/SQL 過程已成功完成
  
  SQL>
From:http://tw.wingwit.com/Article/program/Oracle/201311/18292.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.