请教undotbs1大量占用磁盘空间的问题

[复制链接]
查看11 | 回复7 | 2014-2-19 11:55:14 | 显示全部楼层 |阅读模式
公司托管的oracle服务器,undotbs1的文件空间一直在缓慢增长
为此一个月前把它移动到了另外的磁盘空间上, 但是它现在仍然在增长啊,这样下去早晚会....为什么这个文件不会缩小呢?
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
另外顺便请教一个问题,我每次删除冗余数据的时候,看到数据表空间,索引表空间等好像并不是立即减少,这些空间在释放的时候oracle是则么做的呢?
谢谢各位的帮助
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
目前undotbs1的设定大小是5g,已使用4.7g
另外,数据库的一个表里经常有百万以上的数据要删除(半月一次)
和这个有关系吗?
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
数据库版本?平台?
可能是数据库bug的问题导致undo空间步回收。
如果当前版本打补丁到最高的话,不会有什么大问题,如果是90100之类的就难说了。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
优化你的SQL才是重要的,
将大事务分割成小事务,
对于经常要批量删除数据的表,可以做成分区表,
每个月将垃圾分区drop掉即可。
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
数据库版本是9.2.0.4.0,操作系统是linux8.0
有什么办法可以解决undo空间回收的问题吗?如果要升级, 安全吗?这个数据库正在使用中.....
to xzh2000
那个相关的表是每隔一段时间删除16天之前的数据,一次大约删100万到150万左右(剩下120万左右)我刚刚接触oracle不久, 能不能给详细点说下分区表的划分?或者给篇链接

多谢楼上两位^^
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
继续等待.....
回复

使用道具 举报

千问 | 2014-2-19 11:55:14 | 显示全部楼层
如果指定了回滚段的OPTIMAL参数,ORACLE将自动回收回滚段到OPTIMAL指定的位置。用户也可以手动
回收回滚段的空间。
  语法:
  ALTER ROLLBACK SEGMENT rollback_segment SHRINK [TO integer [K|M]];
  说明:
   如果不指明TO integer的数值,ORACLE将试图回收到OPTIMAL的位置。
  例:
  ALTER ROLLBACK SEGMENT rbs01 SHRINK TO 2M;
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行