oracle 11g 查询表空间剩余多少可用

SELECT
  df.tablespace_name "表空间名称",
  (df.totalspace - tu.usedspace) "剩余空间(MB)",
  df.totalspace "总空间(MB)",
  tu.usedspace "已用空间(MB)",
  ROUND(100 * (tu.usedspace / df.totalspace), 2) "使用率 (%)"
FROM
  (SELECT
     tablespace_name,
     SUM(bytes) / 1024 / 1024 totalspace
   FROM
     dba_data_files
   GROUP BY
     tablespace_name) df
JOIN
  (SELECT
     tablespace_name,
     SUM(bytes_used) / 1024 / 1024 usedspace
   FROM
     (SELECT
        tablespace_name,
        SUM(bytes) bytes_used
      FROM
        dba_segments
      GROUP BY
        tablespace_name) seg
   GROUP BY
     tablespace_name) tu
ON
  df.tablespace_name = tu.tablespace_name;

这个查询首先计算了每个表空间的数据文件总大小(totalspace),然后通过汇总dba_segments视图中的bytes_used来得到已使用的空间大小。最后,通过两个子查询的联结,显示了每个表空间的名称、总空间、已用空间、剩余空间以及使用率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值