原因:
经检查,除系统外所有的回滚段都处于脱机需要恢复状态(Needs Recovery),使用
alter rollback segment rbs1 online
系统提示已经联机,但显示回滚段状态还是脱机需要恢复。尝试:
1、我尝试为系统加上几个新的回滚段,暂时凑合用着
create rollback segment temprbs1 tablespace rbs
系统提示“无法读取tbs.dbf”,该表空间似乎有问题。我又准备新建一个表空间,系统还是提示“无法读取tbs.dbf”。
2、我在init.ora上加入跟踪语句,在trace文件中看到有很多信息,最后的信息是正在恢复回滚段。实际上回滚段一直没有恢复。
3、我用exp想把数据导出来备份,提示无法进行。问题:
如何解决?

解决方案 »

  1.   

    你的alter.log中都报什么错了?
      

  2.   

    alter.log有什么还没看。现象是数据可以查询,但是不能修改任何内容,不能exp数据我可以不要回滚段中任何数据,只要数据库正常工作就行了。
      

  3.   

    看一下alter.log,看不不是哪个文件损坏及被误删了
    另外,你的备份方式是怎样的?
      

  4.   

    说到备份我就来气,都是那个Dell的NAS系统,本来DB好好的,有人用NAS备份我的数据库,结果就成这样了。数据库处于Archieelog状态。最新的消息是如果插入数据,则提示:
       ORA-01552 非系统表空间“users”无法使用系统回退段
      

  5.   

    是归档,如果有归档日志的话就不必太担心了
    sql>SELECT * FROM v$recover_file
    看是否有记录返回,如果做一个recover datafile就可以了。
      

  6.   

    我的方法是,首先备份数据库,
    除系统外所有的回滚段都处于脱机需要恢复状态(Needs Recovery),
    然后把这些回滚端删除,再重新建立。
      

  7.   

    alter.log文件有200多兆。
    里面的出错信息是“无法读写文件,另外一个程序已锁定该文件的一部分”。
    问一下,能否清除该日志?回滚段不可联机,不可删除,回滚表空间不可删除,不可增加回滚段,我给回滚表空间新加一个数据文件,该文件立刻处于Need Recovery状态。我recover该表空间,提示出错。我后来的做法是禁用备份服务,重新启动机器,recover表空间,系统就恢复正常了。
    做法简单,但是之前重启机器就是不好使,害的我花了很多时间。
      

  8.   

    我感觉也是reboot host即可
    估计是备份软件锁住了回滚表空间的数据文件
      

  9.   

    忘了说,那时exp也无法使用,所以不能逻辑备份了。回滚段、表空间也不可删除,所以 LGQDUCKY(飘)说的办法无法解决问题。还是斑竹NB,我最后就是用Recover来解决问题的,看alter.log文件也给了我一点启发。