情况是这样:
我的数据库有一个默认的还原表空间UNDOTBS01,但是由于这两天操作删除数据过大。。上亿条数据,而我磁盘空间已经不足,所以我就新建了一个还原表空间到C盘,并设置为默认还原表空间。。然后继续删除我的数据,这个时候UNDOTBS01.DBF文件还是很大,因为我试着去回收空间了,但是没有成功,然后没过多久,新建的表空间也把我C盘占满了操作了很久,无法回收空间
于是愤怒之下将其文件删除。导致我不能启动数据库
===========================以下是报错信息
ORACLE 例程已经启动。Total System Global Area  612368384 bytes
Fixed Size                  1292036 bytes
Variable Size             121637116 bytes
Database Buffers          482344960 bytes
Redo Buffers                7094272 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 42 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 42: 'C:\TABLESPACE\UNDOTBS03.DBF'
现在不知道应该如何处理了,查了很多网上朋友说的方法,都屡试不成功。。请高人帮忙在线等……

解决方案 »

  1.   

    试试这个吧:http://blueram.iteye.com/blog/618459如若不行,可以试一下,
    自己手动建立一个C:\Tablespace\undoTBS03.DBF,可以从undoTBS02拷贝,然后改名。
      

  2.   

    我现在能启动了
    但问题还是没有彻底解决
    情况如下:
    我将UNDOTBS03彻底删除了(还原表空间),我猜测这个空间中保留这我删除A_RCVBL_FLOW这个表的信息,因为我删除中途中断,有可能问题就在这。
    现在其他表都能用,但是查询A_RCVBL_FLOW则会提示信息如下ORA-12801: 并行查询服务器 P000 中发出错误信号
    ORA-00376: 此时无法读取文件 42
    ORA-01110: 数据文件 42: 'C:\TABLESPACE\UNDOTBS03.DBF'我加你QQ了,请求你的帮助
      

  3.   

    你不会直接在操作系统上删除了undo表空间吧!
    你操作A_RCVBL_FLOW表的事务在UNDOTBS03表空间里还是活动的,你直接把文件删了,数据库PMON要去将你这活动的事务提交或者回滚都找不到文件了,不报错才怪。
      

  4.   

    通常情况你需要将UNDOTBS03的数据文件进行恢复,如果UNDOTBS03是你今天才建的,并且数据库运行在归档模式且归档日志都在
    这时候你可以采用 alter database create datafile 新建一个undodatafile 然后通过归档日志将undodatafile进行恢复。
    ------
    你按上面操作之前,尝试EXP看能够将A_RCVBL_FLOW的数据是否导出来。