免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3390 | 回复: 4
打印 上一主题 下一主题

undo tablespae空间怎么释放 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-10 18:57 |只看该作者 |倒序浏览
5可用积分
这几天对一资料的表进行操作。删除了大量数据,结果导致回滚表空间不停的扩充,结果回滚空间都达到100多G了!

现在数据删除完了,如何才能将回滚空间释放出来啊、??


还有就是我删除了表里的数据,为什么那个表的表空间的使用大小还是没变啊(数据至少杀掉一半)???

最佳答案

查看完整内容

第一个问题有几种方法供参考:1.一般来说回滚段的相关事务结束后会自动收缩,不过受参数undo_retention影响,也就是说在undo_retention这个时间内回滚段内的事务就算是结束了也不会自动收缩,这就需要临时将undo_retention修改为一个较小的时间,待其空间释放出来之后再恢复为原来的值。2.新建一个undo表空间,切换过去后删掉旧的undo表空间。3.方便的话重启吧(不建议,特别是在生产库上)4.如果前三种方法都不合心意的话那就等等看 ...

论坛徽章:
1
丑牛
日期:2014-08-07 17:07:05
2 [报告]
发表于 2008-12-10 18:57 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2008-12-10 22:07 |只看该作者
1.try: alter tablespace ... resize ... (这个是否成功取决于,表空间实际使用的情况)
2.delete后,表所占用的空间是不会释放的。

论坛徽章:
2
2015元宵节徽章
日期:2015-03-06 15:50:39数据库技术版块每日发帖之星
日期:2015-12-05 06:20:00
4 [报告]
发表于 2008-12-11 09:14 |只看该作者
新建一个undo,然后再切换过去,把原来的删掉

论坛徽章:
0
5 [报告]
发表于 2008-12-11 19:59 |只看该作者
谢谢楼上的几位。今天试了下,先建个undo空间,然后切换过去后把原来的undo空间drop掉后就可以了。。呵呵!!!


1.一般来说回滚段的相关事务结束后会自动收缩,不过受参数undo_retention影响,也就是说在undo_retention这个时间内回滚段内的事务就算是结束了也不会自动收缩,这就需要临时将undo_retention修改为一个较小的时间,待其空间释放出来之后再恢复为原来的值
这个感觉没啥用。。他就是不释放。。时间都改到 1800了。

[ 本帖最后由 hakajawa 于 2008-12-11 20:01 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP