oracle数据库物理 过大,Oracle数据库top10物理段-Oracle

Oracle数据库top10物理段

select owner, name, type, mega, tbs

from (select owner,

case

when segment_type = 'LOBSEGMENT' then

logical_name

else

segment_name

end as name,

segment_type as type,

round(bytes / 1024 / 1024) as mega,

tablespace_name as tbs

from (select a.owner,

a.segment_name,

a.segment_type,

b.table_name || '.' || b.column_name as logical_name,

bytes,

a.tablespace_name

from dba_segments a, dba_lobs b

where a.owner = b.owner(+)

and a.segment_name = b.segment_name(+)

and a.bytes > 1020 * 1024 * 1024)

order by bytes desc);

这个SQL有一个不足之处。在数据库中有很多分区表的话,每个分区很小则不能正确获得表的真实大小。因此,将分区段进行聚合,所在表空间就不管了,随意取一个。

select owner, name, type, mega, tbs

from (select owner,

case

when segment_type like 'LOB%' then

logical_name

else

segment_name

end as name,

segment_type as type,

round(bytes / 1024 / 1024) as mega,

tablespace_name as tbs

from (select a.owner,

a.segment_name,

a.segment_type,

b.table_name || '.' || b.column_name as logical_name,

bytes,

a.tablespace_name

from (select owner,

segment_name,

segment_type,

sum(bytes) as bytes,

max(tablespace_name) as tablespace_name

from dba_segments

group by owner, segment_name, segment_type) a,

dba_lobs b

where a.owner = b.owner(+)

and a.segment_name = b.segment_name(+)

and a.bytes > 1024 * 1024 * 1024)

order by bytes desc);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值