zoukankan      html  css  js  c++  java
  • Oracle 查看表空间的大小及使用情况sql语句

    注意存在表空间不存在于dba_free_space 中(可能是因为表空间过大已爆掉)

    --1、查看表空间的名称及大小
    SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
    FROM dba_tablespaces t, dba_data_files d
    WHERE t.tablespace_name = d.tablespace_name
    GROUP BY t.tablespace_name;
    --2、查看表空间物理文件的名称及大小
    SELECT tablespace_name,
    file_id,
    file_name,
    round(bytes / (1024 * 1024), 0) total_space
    FROM dba_data_files
    ORDER BY tablespace_name;
    --3、查看回滚段名称及大小
    SELECT segment_name,
    tablespace_name,
    r.status,
    (initial_extent / 1024) initialextent,
    (next_extent / 1024) nextextent,
    max_extents,
    v.curext curextent
    FROM dba_rollback_segs r, v$rollstat v
    WHERE r.segment_id = v.usn(+)
    ORDER BY segment_name;
    --4、查看控制文件
    SELECT NAME FROM v$controlfile;
    --5、查看日志文件
    SELECT MEMBER FROM v$logfile;
    --6、查看表空间的使用情况
    SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
    FROM dba_free_space
    GROUP BY tablespace_name;
    SELECT a.tablespace_name,
    a.bytes total,
    b.bytes used,
    c.bytes free,
    (b.bytes * 100) / a.bytes "% USED ",
    (c.bytes * 100) / a.bytes "% FREE "
    FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
    WHERE a.tablespace_name = b.tablespace_name
    AND a.tablespace_name = c.tablespace_name;
    --7、查看数据库库对象
    SELECT owner, object_type, status, COUNT(*) count#
    FROM all_objects
    GROUP BY owner, object_type, status;
    --8、查看数据库的版本 
    SELECT version
    FROM product_component_version
    WHERE substr(product, 1, 6) = 'Oracle';
    --9、查看数据库的创建日期和归档方式
    SELECT created, log_mode, log_mode FROM v$database; 


    --1G=1024MB
    --1M=1024KB
    --1K=1024Bytes
    --1M=11048576Bytes
    --1G=1024*11048576Bytes=11313741824Bytes
    SELECT a.tablespace_name "表空间名",
    total "表空间大小",
    free "表空间剩余大小",
    (total - free) "表空间使用大小",
    total / (1024 * 1024 * 1024) "表空间大小(G)",
    free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
    (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
    round((total - free) / total, 4) * 100 "使用率 %"
    FROM (SELECT tablespace_name, SUM(bytes) free
    FROM dba_free_space
    GROUP BY tablespace_name) a,
    (SELECT tablespace_name, SUM(bytes) total
    FROM dba_data_files
    GROUP BY tablespace_name) b
    WHERE a.tablespace_name = b.tablespace_name 

    数据库会存在temp表空间

    查询temp表空间和使用情况时需要单独的脚本

    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(+)

    TABLESPACE_NAME sum_space(m) SUM_BLOCKS used_space(m) used_rate(%) free_space(m)

    但这种情况并不能表示目前临时表空间的使用情况,比如某临时表空间已经使用了100%,该操作完毕后,临时表空间的HWM标志没有被回收,所以如果想知道当前的临时表空间使用,需要通过v$sort_usgae来确定:

    select sum(blocks*8192)/1024/1024 from v$sort_usage;

    临时表空间,请查询DBA_TEMP_FREE_SPACE

    SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
      FROM DBA_TEMP_FREE_SPACE
    WHERE TABLESPACE_NAME = '&tablespace_name';

    临时表空间,请查询DBA_TEMP_FILES
    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
      FROM DBA_TEMP_FILES
    WHERE TABLESPACE_NAME = '&tablespace_name';

    为空间不足的表空间增加数据文件
    ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name' SIZE 2G;
    注:如果要为临时表空间扩容,使用下面的语句
    ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G;

    也可以修改数据文件的大小

  • 相关阅读:
    第3章 Java数组(上): 一维数组和二维数组
    第二章 JavaScript总结(下)
    第二章 JavaScript案例(中)
    第二章 JavaScript文档(上)
    第一章 Html+Css使用总结(下)
    第一章 HTML+CSS(中)
    div布局
    阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:6. 设备事件上报
    阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:5. 设置设备属性
    阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:4.1 上报位置信息
  • 原文地址:https://www.cnblogs.com/lipera/p/6201434.html
Copyright © 2011-2022 走看看