关于表空间的回收

[复制链接]
查看11 | 回复8 | 2015-3-6 11:57:31 | 显示全部楼层 |阅读模式
表空间设为自动扩展,在插入数据后,原先大小2G,已扩展至3G,现在删除了部分表的数据,大约1G左右,可是表空间对于的数据文件依旧是3G,
为什么不收缩?难道非要人工干预吗?环境:ORACLE817,WIN2003
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
呵呵,因为表空间没有自动回收的选项~~~
你可以自己手工alter datafile resize啊
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
如何是直接进行delete来删除数据的话,是不会释放空间的.
用truncate倒是会释放空间.
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
3F所言极是
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
oracle在这方面还真的没sql方便
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
delete数据后,SQL>ALTERTABLE tb shrink space 这样就会释放空间了
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
delete数据后,SQL>ALTERTABLE tb shrink space 这样就会释放空间
----------------
貌似10g后才有这个。。。
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
楼上说的释放空间是释放出来给其他段使用,数据文件的大小还是不变的,要改数据文件的大小可以试一下三思的方法
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
的确是10g才开始又这个的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行