当前位置: 代码迷 >> Oracle管理 >> 使用ALTER TABLE . MOVE TABLESPCE .后怎么收缩原表空间
  详细解决方案

使用ALTER TABLE . MOVE TABLESPCE .后怎么收缩原表空间

热度:341   发布时间:2016-04-24 05:17:12.0
使用ALTER TABLE .. MOVE TABLESPCE ..后如何收缩原表空间
如题:现在把表空间SPACE1中的一部分表MOVE到SPACE2后,如何收缩SPACE1的空间?
用ALTER DATABASE FILE ... RESIZE ... 会出错:ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据

------解决方案--------------------
可以参考:http://space.itpub.net/7204674/viewspace-664188
------解决方案--------------------
1.将该表空间下的RECYCLEBIN对象清除。
2.找出收缩空间大小之外的对象迁移到另外表空间:
SELECT owner,segment_name,(block_id+blocks)*8/1024 loc_size FROM DBA_EXTENTS where tablespace_name='TBS_DATA'
3.然后再把你的文件缩小:
 ALTER DATABASE DATAFILE 6 RESIZE 100M;
  相关解决方案