zoukankan      html  css  js  c++  java
  • 如何查询表空间使用情况

    表空间的空间监控

    表空间的空间使用其实是一个需要特别注意的问题,因为数据文件不可扩展而导致表空间的空间不够,可能导致无法写入任何新的数据,而甚至导致数据库的停止。以下的语句可以监控表空间的空间利用情况,如果使用了9i的完全临时表空间,则加入后半部分用于检测临时表空间。

    SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",
    ROUND((
    1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"
    FROM
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(
    1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
    FROM DBA_DATA_FILES
    GROUP BY TABLESPACE_NAME) D,
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(
    1024*1024),2) FREE_SPACE
    FROM DBA_FREE_SPACE
    GROUP BY TABLESPACE_NAME) F
    WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
    --如果采用了完全本地管理的临时表空间,就加入如下部分
    UNION ALL 
    --if have tempfile
    SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,
    USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,
    0)/SPACE*100,2) "USED_RATE(%)",
    NVL(FREE_SPACE,
    0) "FREE_SPACE(M)"
    FROM
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(
    1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
    FROM DBA_TEMP_FILES
    GROUP BY TABLESPACE_NAME) D,
    (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(
    1024*1024),2) USED_SPACE,
    ROUND(SUM(BYTES_FREE)/(
    1024*1024),2) FREE_SPACE
    FROM V$TEMP_SPACE_HEADER
    GROUP BY TABLESPACE_NAME) F
    WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

    段的空间利用监控

    段的空间与区间的利用,在字典管理的表空间有尤为重要,如果一个对象的区间数太多,不但大大加重了字典表的管理负担与系统回滚段的压力,也严重影响对该段(如表或索引)的性能。该查询也可以看到现在利用的区间与最大区间数的差异,如果该差值已经很小,就需要注意新的空间的分配,避免因为不能分配新的区间而导致新数据的写入错误。

    SELECT S.OWNER,S.SEGMENT_NAME,S.SEGMENT_TYPE,S.PARTITION_NAME,
    ROUND(BYTES/(
    1024*1024),2) "USED_SPACE(M)",
    EXTENTS USED_EXTENTS,S.MAX_EXTENTS,S.BLOCKS ALLOCATED_BLOCKS,
    S.BLOCKS USED_BOLCKS,S.PCT_INCREASE,S.INITIAL_EXTENT,
    S.NEXT_EXTENT/
    1024 "NEXT_EXTENT(K)",S.TABLESPACE_NAME
    FROM DBA_SEGMENTS S
    WHERE S.OWNER = USER
    ORDER BY Used_Extents DESC

  • 相关阅读:
    logback使用
    数据库阿里连接池 配置
    expect.js
    shim和polyfill有什么区别
    console.js还有浏览器不支持?
    vue项目如何实现剪切板功能--vue-clipboard2
    跟我一起使用webpack给一个开源项目添加一个运行入口
    Axure之添加点击页面
    Axure之母版窗口
    【react】react-reading-track
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/2617158.html
Copyright © 2011-2022 走看看