ora_table_info.sql

set verify off
set lines 400
col owner for a20
col table_name for a20
col tablespace_name for a15
col segment_created for a15
col last_analyzed for a13
select dtab.owner
      ,dtab.table_name
      ,dtab.tablespace_name
      ,dtab.segment_created
      ,dtab.last_analyzed
      ,dtab.initial_extent
      ,dtab.next_extent
      ,dtab.min_extents
      ,dtab.max_extents
      ,num_rows
      ,dtab.blocks
      ,dtab.empty_blocks
      ,dtab.num_freelist_blocks
      ,dtab.avg_space
      ,dtab.pct_free
      ,round((dtab.blocks*dtbs.block_size/1024/1024),2) "TOTAL_BLOCKS_SIZE_MB"
      ,round((dtab.num_rows*dtab.avg_row_len/1024/1024),2) "TOTAL_ROWS_SIZE_MB"
      ,round(((dtab.blocks*dtbs.block_size/1024/1024)-(dtab.num_rows*dtab.avg_row_len/1024/1024)),2) "AVG_FREE_SPACE_MB"
      ,(round(((dtab.blocks*dtbs.block_size/1024/1024)-(dtab.num_rows*dtab.avg_row_len/1024/1024)),2)/nullif(round(((dtab.blocks*dtbs.block_size/1024/1024)),2),0))*100 "AVG_FREE_SPACE_PCT"
from dba_tables dtab
    ,dba_tablespaces dtbs
where dtab.tablespace_name = dtbs.tablespace_name
  and dtab.owner = upper('&1')
  and dtab.table_name = upper('&2');
undefine 1
undefine 2
Rolar para cima