Oracle查看表空间终极SQL

该博客提供了几个SQL查询来检查Oracle数据库的表空间使用情况,包括总容量、已使用容量、剩余容量和使用率。此外,还展示了如何查看表空间的创建时间和一个综合查询,涵盖了数据表空间和临时表空间的详细信息。
摘要由CSDN通过智能技术生成

查看表空间使用率:
select ta.tablespace_name "表空间名称",
       decode(tb.contents,'UNDO','UNDO表空间','TEMPORARY','临时表空间','数据表空间') "表空间类型",
       round(ta.tablespace_size*8/1024,2) "表空间总容量(MB)",
       round(ta.used_space*8/1024,2) "表空间已使用容量(MB)",
       round((ta.tablespace_size-used_space)*8/1024,2) "表空间剩余容量(MB)",
       round(ta.used_percent,2) "表空间使用率"
from dba_tablespace_usage_metrics ta,
     dba_tablespaces tb
where ta.tablespace_name = tb.tablespace_name
order by round(ta.used_percent,2) 

-- 查看表空间创建时间
select a.file_name,a.tablespace_name,to_char(b.creation_time,'yyyy-mm-dd') creation_time 
from dba_data_files a,v$datafile b 
where a.file_id=b.file# order by tablespace_name;

--表空间查询终极SQL
select * from (select d.status "Status",
              d.tablespace_name "Name",
              d.contents "Type",
              d.extent_management "Extent Management",
              round(NVL(a.bytes / 1024 / 1024, 0), 2) "Size (M)",
              round(NVL(a.bytes - NVL(f.bytes, 0), 0) / 1024 / 1024, 2) "Used (M)",
         round(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0), 2) "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.status "Status",
              d.tablespace_name "Name",
              d.contents "Type",d.extent_management "Extent Management",
              round(NVL(a.bytes / 1024 / 1024, 0), 2) "Size (M)",
              round(NVL(t.bytes, 0) / 1024 / 1024, 2) "Used (M)",
              round(NVL(t.bytes / a.bytes * 100, 0), 2) "Used %"
         from sys.dba_tablespaces d,
              (select tablespace_name, sum(bytes) bytes
                 from db a_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 "Used %" desc;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值