【PL/SQL】TOM 的 show_space()

简介: 只适用于非ASSM:    create or replace  procedure show_space  ( p_segname in varchar2,  p_owner in varchar2 default user,  p_type in varch...
只适用于非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 过程已成功完成。
                                                                                            -
目录
相关文章
|
18天前
|
SQL 关系型数据库 MySQL
Greenplum【SQL 02】ROW_NUMBER编号函数使用方法举例
Greenplum【SQL 02】ROW_NUMBER编号函数使用方法举例
74 0
|
SQL 关系型数据库 MySQL
Mysql异常'SET OPTION SQL_SELECT_LIMIT=DEFAULT'
在用hive时遇到这样的一个异常,因为hive的元数据是存储在mysql数据库中,所以对于hive表的操作相应的会操作数据库中表的数据,该问题发生于删除表的时候,创建的时候并未产生该异常。经过查阅资料了解到mysql通过jdbc链接的时候会进行测试'SET OPTION SQL_SELECT_LIMIT=DEFAULT',但是5.6以后的版本弃用了set的方式。
3757 0
|
SQL Go
sql server 带有OUTPUT的INSERT,DELETE,UPDATE
原文:sql server 带有OUTPUT的INSERT,DELETE,UPDATE OUTPUT是SQL SERVER2005的新特性.
1181 0
|
SQL
SQL中GROUP BY用法示例
概述 GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。
1061 0