如何查看oracle表空间已使用大小

来源:互联网 发布:apache ant 1.9.4安装 编辑:程序博客网 时间:2024/04/29 22:23

1. 查看所有表空间大小

Sql代码  收藏代码
  1. select tablespace_name,sum(bytes)/1024/1024 from dba_data_files   
  2. roup by tablespace_name;   

 

2. 未使用的表空间大小 

Sql代码  收藏代码
  1. select tablespace_name,sum(bytes)/1024/1024 from dba_free_space   
  2.  group by tablespace_name;   

 


3. 所以使用空间可以这样计算

Sql代码  收藏代码
  1. select a.tablespace_name,total,free,total-free used from   
  2. select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files   
  3. group by tablespace_name) a,   
  4. select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space   
  5. group by tablespace_name) b   
  6. where a.tablespace_name=b.tablespace_name;   

 


4. 下面这条语句查看所有segment的大小。

Sql代码  收藏代码
  1. Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name   

 

5. 还有在命令行情况下如何将结果放到一个文件里。

Sql代码  收藏代码
  1. SQL> spool out.txt   
  2. SQL> select * from v$database;   
  3. SQL> spool off  

 

6.如何查看oracle临时表空间当前使用了多少空间的大小? 
不是占用量,是当前正在使用的临时表空间大小

 

Sql代码  收藏代码
  1. SELECT SE.USERNAME,  
  2.        SE.SID,  
  3.        SU.EXTENTS,  
  4.        SU.BLOCKS * TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,  
  5.        TABLESPACE,  
  6.        SEGTYPE,  
  7.        SQL_TEXT  
  8.   FROM V$SORT_USAGE SU, V$PARAMETER P, V$SESSION SE, V$SQL S  
  9.  WHERE P.NAME = 'db_block_size'  
  10.    AND SU.SESSION_ADDR = SE.SADDR  
  11.    AND S.HASH_VALUE = SU.SQLHASH  
  12.    AND S.ADDRESS = SU.SQLADDR  
  13.  ORDER BY SE.USERNAME, SE.SID;  

 

 

查询所有的表空间

 

Sql代码  收藏代码
  1. select tablespace_name from dba_tablespaces  

 

 查看表空间中分布的用户信息

Sql代码  收藏代码
  1. select tablespace_name, owner,sum(bytes) from dba_segments  
  2. group by tablespace_name, owner   
0 0
原创粉丝点击