oracle查看表空间使用率(包含临时表空间)

SELECT
 d.tablespace_name "Name",
 d.status "Status",
 d.contents "Type",
 to_char(nvl(a.bytes / 1024 / 1024, 0), '99G999G999D99') "Size 
(MB)",
 to_char(NVL(f.bytes, 0)/1024/1024,'99G999G999D99') "Free 
(MB)",
 to_char(nvl(a.bytes - nvl(f.bytes, 0), 0) / 1024 / 1024,
'99G999G999D99') "Used (MB)",
 to_char(nvl((a.bytes - nvl(f.bytes, 0)) / a.bytes * 100, 0),
'999D99') "Used%"
FROM
 sys.dba_tablespaces d,
 (
 SELECT
 tablespace_name,
 SUM(bytes) bytes
 FROM
 dba_data_files
 GROUP BY
 tablespace_name
 ) a,
 (
 SELECT
 tablespace_name,
 SUM(bytes) bytes
 FROM
 dba_free_space
 GROUP BY
 tablespace_name
 ) f
WHERE
 d.tablespace_name = a.tablespace_name (+)
 AND d.tablespace_name = f.tablespace_name (+)
AND NOT (
 d.extent_management like 'LOCAL'
 AND
 d.contents like 'TEMPORARY'
 )
UNION ALL
SELECT
 d.tablespace_name "Name",
 d.status "Status",
 d.contents "Type",
 to_char(nvl(a.bytes / 1024 / 1024, 0), '99G999G999D99') "Size 
(MB)",
 to_char(nvl(a.bytes - nvl(t.bytes, 0), 0) / 1024 / 1024,
'99G999G999D99') "Free (MB)",
 to_char(nvl(t.bytes, 0) / 1024 / 1024, '99G999G999D99') "Used 
(MB)",
 to_char(nvl(t.bytes, 0) / a.bytes * 100, '999D99') "Used%"
FROM
 sys.dba_tablespaces d,
 (
 SELECT
 tablespace_name,
 SUM(bytes) bytes
 FROM
 dba_temp_files
 GROUP BY
 tablespace_name
 ) a,
 (
 SELECT
 tablespace_name,
 SUM(bytes_cached) bytes
 FROM
 v$temp_extent_pool
 GROUP BY
 tablespace_name
 ) t
WHERE
 d.tablespace_name = a.tablespace_name (+)
 AND d.tablespace_name = t.tablespace_name (+)
 AND d.extent_management LIKE 'LOCAL'
 AND d.contents LIKE 'TEMPORARY'
ORDER BY 7 desc;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值