首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ALTER 表空间的有关问题(一得答案就给分)

2012-02-27 
ALTER 表空间的问题(一得答案就给分)问题:我测试用的表空间设置了500M,有一次确实用了这么多。但是我TRUNCA

ALTER 表空间的问题(一得答案就给分)
问题:
我测试用的表空间设置了500M,有一次确实用了这么多。但是
我TRUNCATE部分表的数据后,就没500M了
而且我EXP后只有100M左右

现在我怎么回收那让费的空间呢?

请高手指点!!
ALTER TABLESPACE TEST COALESCE;
ALTER........MOVE........


??????????

[解决办法]
(1)、选择某个表空间中超过N个blocks的segments,通过此语句可以看出那个表占用的空间大。

select segment_name,segment_type,blocks from dba_segments

where tablespace_name='TABLESPACENAME'

and blocks > N

order by blocks;

(2)、分析表,得知表的一些信息

analyze table TABLENAME estimate statistics; 执行完后再执行


select initial_extent,next_extent,min_extents,blocks,empty_blocks from dba_tables

where table_name='TEST' and owner='AA';

 
(3)、使用alter table ... deallocate unused 命令回收表的空间

例如: alter table AA.TEST deallocate unused keep 1k;


(4)、使用 alter tablespace TABLESPACENAME coalesce 命令回收表空间的空间。


(5)、可以使用dba_free_space视图查看表空间中的空闲空间信息。

热点排行
Bad Request.