我用Oracle9i(9.2.0)创建了一个数据库,运行了一段时间后,发现一个文件"UNDOTBS01.DBF"莫名其妙地增长起来,越来越大,后来竟然增长到了3.2G,并且不会回缩,请问高手,这是怎么回事。
  
比较奇怪的是,这个文件是一直增大,即使重新启动机器,第二天也是照样增加。后来,我就重新安装数据库,并且一直注意它的大小。刚开始在200M,运行了4~5天后,它就增加到了500M,我以为是有什么人在启动了一个大的事务,就把网线拔掉,但是它还是一直增长,我看它先是500M,一分钟后就成了520M,又一分钟,竟然增加到了550M,并且增加的速度越来越快,大有重新超过1G的趋势,没有办法,只得停掉ORACLE服务。各位大侠,帮帮忙吧!小弟有礼了!  

解决方案 »

  1.   

    原因可能是有很多大事物在运行,而且没有提交,本来自动撤消管理是
    循环用的,ORACLE检查到下一个区中没有未提交的事物,ORACLE只能分配
    一个新区,所以要注意及时提交事物。
      

  2.   

    flashback queries?
    检查你的UNDO_RETENTION初始化参数,单位为秒。太大会引起undo表空间增大
      

  3.   

    是不是什么job之类的东西在运行并且没有提交。
      

  4.   

    select * from v$undostat;可以查看撤消表空间的使用情况