Oracle 删除表中记录 如何释放表及表空间大小

转载 2015年11月20日 20:24:29
1.查看一个表所占的空间大小:
SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_NAME='JK_TEST';
2.查看一个表空间所占的实际大小:
SELECT SUM(BYTES) / 1024 / 1024 ||'MB' FROM USER_SEGMENTS U  WHERE TABLESPACE_NAME = 'DATA01';
3.查看一个表空间对应的数据文件:
SELECT * FROM DBA_DATA_FILES D WHERE D.TABLESPACE_NAME = 'DATA01';
4.查看表空间的使用情况:
SELECT A.TABLESPACE_NAME,      
       FILENUM,   
       TOTAL "TOTAL (MB)",  
       F.FREE "FREE (MB)",
       TO_CHAR(ROUND(FREE * 100 / TOTAL, 2), '990.00') "FREE%", 
       TO_CHAR(ROUND((TOTAL - FREE) * 100 / TOTAL, 2), '990.00') "USED%",    
       ROUND(MAXSIZES, 2) "MAX (MB)"
  FROM (SELECT TABLESPACE_NAME,          
               COUNT(FILE_ID) FILENUM,        
               SUM(BYTES / (1024 * 1024)) TOTAL,          
               SUM(MAXBYTES) / 1024 / 1024 MAXSIZES      
          FROM DBA_DATA_FILES       
         GROUP BY TABLESPACE_NAME) A,     
       (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024))) FREE     
          FROM DBA_FREE_SPACE      
         GROUP BY TABLESPACE_NAME) F
 WHERE A.TABLESPACE_NAME = F.TABLESPACE_NAME
5.查看数据文件的实际使用情况:
SELECT CEIL(MAX_BLOCK * BLOCK_SIZE / 1024)
  FROM (SELECT MAX(BLOCK_ID) MAX_BLOCK
          FROM DBA_EXTENTS
         WHERE FILE_ID IN (SELECT FILE_ID
                             FROM DBA_DATA_FILES D
              

Oracle 删除表中记录 如何释放表及表空间大小

1.查看一个表所占的空间大小: SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_...
  • flower_xixi
  • flower_xixi
  • 2014年09月22日 10:22
  • 383

oracle在删除表\表空间\用户时,如何释放磁盘空间

一、drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,或彻底清除。 ...
  • wxlbrxhb
  • wxlbrxhb
  • 2014年05月23日 15:12
  • 4024

Oracle中关于清除数据释放表空间等方面的sql

前些日子,数据库空间爆满,已经增长到存储空间单个存储文件的最大值32G。但是,采用了很多办法才释放掉表空间,主要是系统中大量使用分区表,而针对分区表清除数据,不会释放表空间,必须把分区drop掉,才会...
  • xtdhqdhq
  • xtdhqdhq
  • 2015年05月13日 11:42
  • 4166

truncate表后,不释放表空间

问题起因: 同事从生产导出一个dmp,给新系统测试用。由于测试环境的表空间比较紧张。先用delete清空掉了部分表的数据, 发现表空间没有释放。接着又执行了truncate,但奇怪的是truncd...
  • weiruoao
  • weiruoao
  • 2014年05月30日 14:58
  • 8576

oracle数据库表占大小查看和清空表以及表所占空间

主要针对表数据被delete后,而表空间不能被释放的情况 手工释放表空间 alter table cbsd_log_t enable row movement; alter table cbsd...
  • u014481497
  • u014481497
  • 2015年04月07日 17:22
  • 732

ORACLE关于DELETE后空间不释放问题

主要针对表数据被delete后,而表空间不能被释放的情况 手工释放表空间 alter table cbsd_log_t enable row movement; alter table cbsd...
  • aptweasel
  • aptweasel
  • 2013年05月29日 11:03
  • 10595

怎么计算Oracle的表一条记录占用空间的大小

怎么计算Oracle的表一条记录占用空间的大小
  • zmycoco2
  • zmycoco2
  • 2013年11月14日 14:12
  • 5766

表和用户已经删除,但是数据文件的空间没有释放

今天在自己的实验环境上建了一个用户test,在此用户下建立了50多张表并插入了海量数据,最后发现磁盘空间几乎沾满,想做别的实验已经不可能,于是删除了用户test,使用关键词cascade删除的,但是最...
  • huashnag
  • huashnag
  • 2013年08月07日 11:41
  • 1819

sql server 2008删除表后内存没有释放

已扩展的空间是不会主动释放的,需要手动进行文件或数据库的收缩右键点击数据库-》任务中收缩数据库即可释放空间...
  • lingtianyulong
  • lingtianyulong
  • 2017年04月26日 14:07
  • 684

oracle 删除表中重复记录

oracle 删除表中重复记录
  • qq_34117825
  • qq_34117825
  • 2016年06月30日 14:11
  • 921
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 删除表中记录 如何释放表及表空间大小
举报原因:
原因补充:

(最多只允许输入30个字)