是查这张表吗 ?USER_TABLESPACES 的哪个字段呢

解决方案 »

  1.   

    desc USER_TABLESPACES 
      

  2.   

    这是查看USER_TABLESPACES这个表中各个字段的定义,并没有显示表空间的使用量吧?
      

  3.   


    --表空间
    select a.name, 
           a.Gbytes as total,
           (a.Gbytes - nvl(b.Gbytes, 0)) as usage,
           nvl(b.Gbytes, 0) as free,
           round((((a.Gbytes - nvl(b.Gbytes, 0)) / a.Gbytes) * 100), 2) || '%' as usagep
      from (select tablespace_name as name, round(sum(bytes) / 1024 / 1024 / 1024, 3) as Gbytes
              from dba_data_files
             group by tablespace_name) a,
           (select tablespace_name as name, round(sum(bytes) / 1024 / 1024 / 1024, 3) as Gbytes
              from dba_free_space
             group by tablespace_name) b
     where a.name = b.name(+);--临时表空间
    select a.name, 
           a.Gbytes as total,
           (a.Gbytes - nvl(b.Gbytes, 0)) as usage,
           nvl(b.Gbytes, 0) as free,
           round((((a.Gbytes - nvl(b.Gbytes, 0)) / a.Gbytes) * 100), 2) || '%' as usagep
      from (select tablespace_name as name, round(sum(bytes) / 1024 / 1024 / 1024, 3) as Gbytes
              from dba_temp_files
             group by tablespace_name) a,
           (select tablespace_name as name, round(sum(free_space) / 1024 / 1024 / 1024, 3) as Gbytes
              from dba_temp_free_space
             group by tablespace_name) b
     where a.name = b.name(+);
      

  4.   


    在地址栏里输入http://你的主机名:1158/em
    在这里面可以管理数据库。
      

  5.   

    select * from user_tablespaces
      

  6.   

    应该是这样吧?
    select a.tablespace_name 表空间名称,(sum(a.bytes)-sum(b.bytes)) 剩余空间 from dba_data_files a ,dba_free_space b group by a.tablespace_name
      

  7.   

    select * from user_tablespaces
      

  8.   

    5楼对查询出来的记录进行了处理,很好!
    要查看表空间的使用情况,一般来说用dba_data_files和dba_free_space就可以了,剩下的情况就是自己的发挥了。
      

  9.   

    linux 下使用space sql查看表空間使用情況
    使用free sql查看整個表空間使用情況
      

  10.   

    已用空间: 
    Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;剩余的大小
     SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 MB 
               FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;