Oracle 数据库中查看表空间的2种方法


  本文标签:Oracle 数据库

  在Oracle 数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西  。

  Oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了  。查看方法如下SQL:

  方法一:

  

  1. select dbf.tablespace_name,  
  2. dbf.totalspace "总量(M)",  
  3. dbf.totalblocks as 总块数,  
  4. dfs.freespace "剩余总量(M)",  
  5. dfs.freeblocks "剩余块数",  
  6. (dfs.freespace / dbf.totalspace) * 100 "空闲比例"  
  7. from (select t.tablespace_name,  
  8. sum(t.bytes) / 1024 / 1024 totalspace,  
  9. sum(t.blocks) totalblocks  
  10. from dba_data_files t  
  11. group by t.tablespace_name) dbf,  
  12. (select tt.tablespace_name,  
  13. sum(tt.bytes) / 1024 / 1024 freespace,  
  14. sum(tt.blocks) freeblocks  
  15. from dba_free_space tt  
  16. group by tt.tablespace_name) dfs  
  17. where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) 

  

  方法二:

  

  1. SELECT Total.name "Tablespace Name",  
  2. Free_space, (total_space-Free_space) Used_space, total_space  
  3. FROM  
  4. (select tablespace_name, sum(bytes/1024/1024) Free_Space  
  5. from sys.dba_free_space  
  6. group by tablespace_name  
  7. ) Free,  
  8. (select b.name, sum(bytes/1024/1024) TOTAL_SPACE  
  9. from sys.v_$datafile a, sys.v_$tablespace B  
  10. where a.ts# = b.ts#  
  11. group by b.name  
  12. ) Total  
  13. WHERE Free.Tablespace_name = Total.name 

  

  当发现有的Oracle 数据库里查看表空间不够的错误时,处理如下:
1:找出该表空间对应的数据文件及路径

  

  1. select * from dba_data_files t  
  2. where t.tablespace_name = ARD 

  

  2:增大数据文件

  alter database datafile 全路径的数据文件名称 resize ***M

  3:增加数据文件

  alter tablespace 表空间名称

  add datafile 全路径的数据文件名称 ***M

  注解:Oracle 数据库里查看的表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G