查LOB字段占用的空间大小

查询Oracle表中LOB字段的占用空间大小。表中每一个LOB字段都是独立保存在一个segment上,同时有一个索引segment。因此需要查询两个段,得到总的空间占用大小。

select a.owner,
       a.table_name,
       a.column_name,
       b.segment_name,
       ROUND(b.BYTES / 1024 / 1024)
  from dba_lobs a, dba_segments b
 where a.segment_name = b.segment_name
   and a.owner = 'XXX'
   and a.table_name = 'YYYY'
union all
select a.owner,
       a.table_name,
       a.column_name,
       b.segment_name,
       ROUND(b.BYTES / 1024 / 1024)
  from dba_lobs a, dba_segments b
 where a.index_name = b.segment_name
   and a.owner = 'XXX'
   and a.table_name = 'YYYY'
 

猜你喜欢

转载自mikixiyou.iteye.com/blog/1747188