表空间碎片相关:
select tablespace_name,
       round(sqrt(max(blocks) / sum(blocks)) *
             (100 / sqrt(sqrt(count(blocks)))),
             2) FSFI,
       (case
         when sqrt(max(blocks) / sum(blocks)) *
              (100 / sqrt(sqrt(count(blocks)))) > = 30 then
          '正常'
         when sqrt(max(blocks) / sum(blocks)) *
              (100 / sqrt(sqrt(count(blocks)))) < 30 then
          '表空间破碎化程度高,请整理'
       end) Prompt
  from dba_free_space
group by tablespace_name
order by 2;
--排除SYSAUX和UNDOTBS1

整理碎片: alter tablespace coalesce;

查看单个数据文件使用情况:
select distinct d.name,
       t.name,
       round(s.bytes / (1024 * 1024), 0) total_space,
       round(s.bytes / (1024 * 1024), 0)-round(f.bytes / (1024 * 1024), 0) used
  from v$tablespace t, v$datafile d, dba_data_files s, dba_free_space f
 where t.ts# = d.ts#
   and d.name = s.file_name
   and s.file_id = f.file_id
   and d.file# = f.file_id
   and t.name = f.tablespace_name

表空间使用率:
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
       D.TOT_GROOTTE_MB "表空间大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2),'990.99') || '%' "使用比(%)",
       F.TOTAL_BYTES "空闲空间(M)",
       F.MAX_BYTES "最大块(M)"
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 desc;

查看某个表空间实际剩余空间sql:
select ((
nvl((select sum(t.maxblocks*8/1024) from dba_data_files t where t.autoextensible='YES'and t.tablespace_name = 'SYSTEM'),0)
+
nvl((select sum(t.blocks*8/1024) from dba_data_files t where t.autoextensible='NO'and t.tablespace_name = 'SYSTEM'),0))
-

SELECT D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)"
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME AND D.TABLESPACE_NAME = 'SYSTEM'
)) "实际剩余空间(M)"
from dual;

 

数据文件使用率:
select tot.file_name,100*(tot.total-free.total)/tot.total||'%' from
(select file_name,file_id,sum(bytes) as total from dba_data_files tot group by file_id,file_name ) tot,
(select file_id,sum(bytes) as total from dba_free_space free group by file_id) free  
where tot.file_id=free.file_id

经测试,查看数据文件使用率,性能较好,较准确的:
 SELECT B.TABLESPACE_NAME,
         B.FILE_NAME,
         ROUND (B.BYTES / 1024 / 1024 / 1024, 2) "SIZE GB",
         ROUND (B.MAXBYTES / 1024 / 1024 / 1024, 2) "MAX SIZE GB",
         ROUND (SUM (A.BYTES) / 1024 / 1024 / 1024, 2) "FREE SPACE GB",
         CASE
            WHEN MAXBYTES = 0
            THEN
               ROUND (SUM (A.BYTES) / 1024 / 1024 / 1024, 2)
            ELSE
               ROUND (
                    ( (B.MAXBYTES - B.BYTES) + SUM (A.BYTES)) / 1024 / 1024 / 1024, 2)
         END
            "TOTAL FREE SPACE GB"
    FROM DBA_FREE_SPACE A, DBA_DATA_FILES B
   WHERE A.FILE_ID = B.FILE_ID AND B.TABLESPACE_NAME IN ('CBAM')
GROUP BY B.TABLESPACE_NAME,
         B.FILE_NAME,
         B.BYTES,
         B.MAXBYTES
ORDER BY 1, 2;

查看TEMP表空间使用情况:
SELECT a.tablespace_name,
       a.BYTES / 1024 / 1024 "total(M)",
       (a.bytes - nvl(b.bytes, 0)) / 1024 / 1024 "free(M)"
  FROM (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) b
 WHERE a.tablespace_name = b.tablespace_name(+)

表空间常用sql汇总的更多相关文章

  1. 【SQL实践】其他常用SQL汇总

    [SQL实践]其他常用SQL汇总 1.联表更新 update students stu inner join course on course.STUDENT_ID=stu.id set stu.na ...

  2. Oracle 表空间常用操作

    aliases: [Oracle表空间] tags:      [数据库,Oracle,Blog] summary: [Oracle表空间常用操作,包括查询.分析.扩容.删除.优化等] date:   ...

  3. Oracle数据库表空间常用操作

    1. 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tables ...

  4. Oracle系统表整理+常用SQL语句收集

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  5. DBA_Oracle DBA常用SQL汇总(概念)

    2014-06-20 Created By BaoXinjian

  6. Oracle系统表整理+常用SQL语句收集(转载)

    原文:https://www.cnblogs.com/jiangxinnju/p/5840420.html-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是 ...

  7. MySQL 常用SQL 汇总

    1.查看当前应用连接,连接数突增排查 select user,SUBSTRING_INDEX(host,':',1) as ip , count(*) as count,db from informa ...

  8. oracle表空间相关SQL语句

    Oracle 数据库查看表空间的使用情况 SELECT d.tablespace_name, space "SUM_SPACE(MB)", ) "USED_SPACE(M ...

  9. oracle 表空间常用语句

    –查询表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", ...

随机推荐

  1. 如何正确且高效地中文汉化Spyder 2 或 Spyder3(图文详解)(博主推荐)

    不多说,直接上干货!   汉化下载和教程页面 : https://github.com/kingmo888/Spyder_Simplified_Chinese 汉化文件最新版直接下载 : https: ...

  2. 014-CallbackServlet代码

    package ${enclosing_package}; import java.io.IOException; import java.util.ResourceBundle; import ja ...

  3. orcale 之数据操作

    SQL 语句的数据操作功能是通过数据操作语言实现的,用于改变数据库中的数据.数据更新包括插入.删除和修改三种操作,与之对应的就是 INSERT. UPDATE 和 DELETE. 数据准备 创建两张表 ...

  4. input输入提示历史记录

    一般便于用户的输入习惯,我们都会提示历史消息,让用户有更好的使用体验,以前可能比较多朋友会用js来实现,现在HTML5的datalist可以轻松帮我们实现这个功能!只需以下几行代码 <!doct ...

  5. java 如何下载jar包

    随着maven工具的使用,我们已经不再需要辛苦的找jar包,也不需要再买会员去下载jar包,但是还有一些同学,不知道怎么下载jar包,下面我给大家介绍一下,如何潇洒的找到自己想要的jar包. 首先,访 ...

  6. C3P0数据库连接池的java实现

    1.配置准备 导入jar包 c3p0-0.9.2-pre1.jar mchange-commons-0.2.jar 数据库驱动包,如:mysql-connector-java-5.1.28-bin.j ...

  7. 深入Java关键字null

    一.null是代表不确定的对象   Java中,null是一个关键字,用来标识一个不确定的对象.因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量.   比如:int a = nu ...

  8. aspose.word 读取word段落内容

    注:转载请标明文章原始出处及作者信息 aspose.word 插件下载 链接: http://pan.baidu.com/s/1qXIgOXY 密码: wsj2 使用原因:无需安装office,无兼容 ...

  9. IE 8兼容:<meta http-equiv="X-UA-Compatible" content="IE=edge" /> X-UA-Compatible的解释

    前言:9月份开始了,大四也真正的到来了.深知自己网页布局还有很大的缺陷,接下来打算从工作中抽时间出来模仿着一些互联网公司的网站.顺便把基础理论知识打好. 第一个目标:小米官网:后续会把练习的项目放到g ...

  10. 盒模型的属性丶display显示丶浮动

    一丶盒模型的属性(重要) 1.padding padding是标准文档流,父子之间调整位置 <!DOCTYPE html> <html> <head> <me ...