Oracle 查看表空间使用率的脚本(定义视图)

Oracle 查看表空间使用率的脚本(定义视图)

实验效率最高的表空间使用率检查方式,完全满足生产使用;
新增文件后有一定的延时,不过理解不差那点点时间,忽略延时

-- 查看表空间使用率视图 JEFF_TBS_USE
CREATE OR REPLACE FORCE VIEW SYS.JEFF_TBS_USE
(TABLESPACE_NAME,TYPE, BIGFILE, STATUS,DATAFILES,"USED_SIZE(GB)", "Allocated_SIZE(GB)", "MAX_SIZE(GB)", "FREE_SIZE(GB)", "Allocated_USED%", "MAX_Used%")
BEQUEATH DEFINER
AS
SELECT T.NAME TABLESPACE_NAME,
       T.TYPE,
       T.BIGFILE,
       T.STATUS,
       COUNT(F.RFNO) DATAFILES,
       ROUND(SUM(F.ALLOCATED_SPACE)*T.BLOCK_SIZE/1024/1024/1024,2) AS "USED_SIZE(GB)",
       ROUND(SUM(F.FILE_SIZE)*T.BLOCK_SIZE/1024/1024/1024,2) AS "Allocated_SIZE(GB)",
       ROUND(SUM(F.FILE_MAXSIZE)*T.BLOCK_SIZE/1024/1024/1024,2) AS "MAXSIZE(GB)",
       ROUND((SUM(F.FILE_SIZE)-SUM(F.ALLOCATED_SPACE))*T.BLOCK_SIZE/1024/1024/1024,2) AS "FREE_SIZE(GB)",
       ROUND(SUM(F.ALLOCATED_SPACE)/SUM(F.FILE_SIZE)*100,2) AS "Allocated_USED%",
       ROUND(SUM(F.ALLOCATED_SPACE)/SUM(F.FILE_MAXSIZE)*100,2) AS "MAX_Used%"
FROM V$FILESPACE_USAGE F JOIN (
  SELECT T2.TS#,T1.TABLESPACE_NAME NAME,T1.BLOCK_SIZE,T1.CONTENTS TYPE,T1.STATUS,T1.BIGFILE
  FROM DBA_TABLESPACES T1,V$TABLESPACE T2
  WHERE T1.TABLESPACE_NAME = T2.NAME
  ) T
ON F.TABLESPACE_ID = T.TS#
GROUP BY T.NAME , T.TYPE,T.STATUS,T.BLOCK_SIZE,T.BIGFILE
ORDER BY SUM(F.ALLOCATED_SPACE)/SUM(F.FILE_SIZE) DESC;

-- 创建public 同义词
CREATE OR REPLACE PUBLIC SYNONYM JEFF_TBS_USE FOR SYS.JEFF_TBS_USE;

-- 查询使用
SELECT * FROM JEFF_TBS_USE;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值