语句1: 
SELECT a.tablespace_name, a.BYTES total, a.bytes - nvl(b.bytes, 0) free,nvl(b.bytes, 0)/a.BYTES
       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(+)
查询结果100%语句2:
SELECT d.tablespace_name tablespace_name,
       NVL(SUM(used_blocks), 0) * 8 / 1024 used_M,
       SUM(blocks) * 8 / 1024 total_m,
       NVL(SUM(used_blocks), 0) * 100 / SUM(blocks) used_percent
  FROM v$sort_segment v, dba_temp_files d
 WHERE d.tablespace_name = v.tablespace_name(+)
 GROUP BY d.tablespace_name
 ORDER BY used_percent DESC;查询结果0
不解:第一个语句是网上dowm的,第二个语句是DBA给的;用ORACLE客户单看利用率是100%,用Toad看利用率是0。
这两个语句查询的针对主体不同吗。纠结

解决方案 »

  1.   

    楼主描述清楚些,用ORACLE客户单看利用率是100%,用Toad看利用率是0。这个利用率是第一个语句还是第二个语句的利用率呢?还是整个oracle数据库服务器的利用率呢?
      

  2.   

    都是针对临时表空间
    抛开语句,用客户端看,ORACLE里显示100%,TOAD里显示0。
      

  3.   

    临时表空间中主要存储着 SORT、HASH JOIN、BITMAP MERGE 等操作过程中生成的中间数据,以及全局临时表中的用户数据。前一条语句(v$temp_extent_pool) 用于显示所有被使用的临时表空间的大小,
    而后一条语句( v$sort_segment) 用于显示被排序操作所使用的临时表空间的大小。
      

  4.   

    select TABLESPACE_NAME, BYTES_USED/1024/1024 used_MB,BYTES_FREE/1024/1024 free_MB
    from V$TEMP_SPACE_HEADER;