频道栏目
首页 > 数据库 > Oracle > 正文
oracle表空间及表大小查看
2013-05-10 11:31:45           
收藏   我要投稿

oracle表空间及表大小查看

 

今天看数据库的表空间,感觉赛了很多东西,表空间文件太大了。

 

找了下资料,先查询表所占空间大小,使用如下语句查看:

 

Sql代码  

SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MBYTESE  

  FROM USER_SEGMENTS  

 WHERE SEGMENT_TYPE = 'TABLE'  

 GROUP BY SEGMENT_NAME;  

 

或者

Sql代码  

Select Segment_Name,Sum(bytes)/1024/1024 as sizeof From User_Extents Group By Segment_Name order by sizeof desc  

 

一般大数据量的删全表数据时,使用truncate table

truncate table会释放表空间。

delete table需要ALTER TABLESPACE *** COALESCE; 才有空间

truncate table没有事务概念,执行完了就数据全清了。

truncate 会把 highwatermark 回归至 0  当下一次再插入新记录时就会快一些啦。

truncate table Index也会删掉不是指drop index ;

 

注意:

删除数据不能缩小表空间,只是可再利用的多了.

要实际缩小,让操作系统可以利用,需要先把表move tablespace

也可以在原来的tablespace上move一遍,再缩小tablespace就可以了.

例如:

alter table your_table move tablespace yourtablespace;

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 大小 空间
上一篇:oracle sql语句拼接字符
下一篇:关于oracle表名区分大小写的问题
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站