现在 我有两种表 
  一种表示  以小时为 判断条件 把个个不同小时类的数据放到 对应的表空间中去 这个表就有 24个表空
 
  第二种表示 以时间为判断条件 以每个月为判断条件把每个月的数据存放到对应的表空间中去  请问我想查到这些表各自 包含哪些表空间。
 我该如何查询。
  还有 如何查看这些表空间的利用率?
 谢谢

解决方案 »

  1.   


    --各个表空间的使用率、select Total.Tname "表空间名称",
           Total.Total_Size "表空间大小",
           Total.Total_Size - Used.free_size as "已使用大小",
           Used.Free_size as 表空间剩余大小,
           Round((Total.Total_Size - Used.free_size) / Total.Total_Size,4)* 100 || '%' as 表空间使用率
    from
     (
     select tablespace_name as TName,
            round(sum(user_bytes)/(1024*1024),1) as Total_size
     from dba_data_files
     group by tablespace_name
     )  Total,
    (
    select tablespace_name as TName,
          round(sum(bytes)/(1024*1024),1) as Free_size
    from dba_free_space
    group by tablespace_name
    ) Used
    where Total.TName = Used.TName(+)
      

  2.   


    -- 查询 表 对应 的表空间
    select t.segment_name,t.partition_name,t.segment_type,t.tablespace_name from dba_segments t
           where owner = 'my_user' and t.segment_name = 'my_table';