在Oracle中查看表空间的使用情况

--查看所有表空间使用情况:
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
       D.TOT_GROOTTE_MB "表空间大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                     2),
               '990.99') "使用比",
       F.TOTAL_BYTES "空闲空间(M)",
       F.MAX_BYTES "最大块(M)"
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME 
 ORDER BY 4 DESC;
 
 --查看临时表空间使用情况
SELECT temp_used.tablespace_name, 
       total - used as "Free", 
       total as "Total", 
       round(nvl(total - used, 0) * 100 / total, 3) "Free percent" 
  FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used 
          FROM GV_$TEMP_SPACE_HEADER 
         GROUP BY tablespace_name) temp_used, 
       (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total 
          FROM dba_temp_files 
         GROUP BY tablespace_name) temp_total 
 WHERE temp_used.tablespace_name = temp_total.tablespace_name; 


--查看所有的表空间情况
select * from dba_tablespaces;


--查看指定表空间下面的数据文件是否可以自动扩展
select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'TEST_TABLE';
--查看指定表空间每个数据文件对应的大小
select tablespace_name, file_id,file_name, 
round(bytes/(1024*1024),0) total_space from dba_data_files  where tablespace_name ='TEST_TABLE' order by  tablespace_name ;




--查看哪一个数据文件被offline drop ,找出该数据文件下面包含哪些表。
select distinct segment_name from dba_extents where file_id = 33 ;
select * from dba_data_files 


--
SELECT tablespace_name,segment_type,owner,segment_name  
FROM dba_extents  
 WHERE file_id = 34 




--临时表空间
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;


--增加数据文件,并设置数据文件为自动扩展
  ALTER TABLESPACE TEST_TABLE 
add datafile 'D:\APP\ADMINISTRATOR\ORADATA\EDW\TEST_TABLE_17.DBF'  size  600M 
  AUTOEXTEND   ON NEXT  100M MAXSIZE UNLIMITED;
--修改数据文件大小
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\EDW\TEST_TABLE_01.DBF' resize 1024M ;


  
--将数据文件设置为关闭(甚用)
/*alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\EDW\TEST_TABLE_11.DBF' offline;*/


--将数据文件设置为打开(甚用)
/*alter database create datafile 'D:\APP\ADMINISTRATOR\ORADATA\EDW\TEST_TABLE_11.DBF' online ;*/





你可能感兴趣的:(oracle表空间)