空間查詢相關sql語句

空间状态相关内容

        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、求表空间的未用空间

         col mbytes format 9999.9999
        SELECT Tablespace_Name, SUM(Bytes) / 1024 / 1024 Mbytes
        FROM Dba_Free_Space
        GROUP BY Tablespace_Name;

        4、察看数据库的大小,和空间使用情况

         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;

        5、查看表空间的文件使用情况

         SELECT b.File_Id 文件id, b.Tablespace_Name 表空间, b.File_Name 物理文件名,
        b.Bytes
总字节数, (b.Bytes - SUM(Nvl(a.Bytes, 0))) 已使用,
        SUM(Nvl(a.Bytes, 0))
剩余,
        SUM(Nvl(a.Bytes, 0)) / (b.Bytes) * 100
剩余百分比
        FROM Dba_Free_Space a,
        Dba_Data_Files b
  where a.File_Id = b.File_Id   group BY b.Tablespace_Name,
        b.File_Name, b.File_Id, b.Bytes
  order BY b.Tablespace_Name   
        --/
  dba_Free_Space --表空间剩余空间状况
        --
  dba_Data_Files --数据文件空间占用情况

        6、 查询表空间的碎片程度

        SELECT Tablespace_Name, COUNT(Tablespace_Name)
        FROM Dba_Free_Space
        GROUP BY Tablespace_Name
        HAVING COUNT(Tablespace_Name) > 10;
        alter tablespace name coalesce;
        alter table name deallocate unused;
        create or replace view ts_blocks_v as
        SELECT Tablespace_Name, Block_Id, Bytes, Blocks, 'free space' Segment_Name
        FROM Dba_Free_Space
        UNION ALL
        SELECT Tablespace_Name, Block_Id, Bytes, Blocks, Segment_Name
        FROM Dba_Extents;
        select * from ts_blocks_v;
        SELECT Tablespace_Name, SUM(Bytes), MAX(Bytes), COUNT(Block_Id)
        FROM Dba_Free_Space
        GROUP BY Tablespace_Name;

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11783655/viewspace-462787/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11783655/viewspace-462787/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值