oracle表空文件被误删除,数据库正常的startup起不来怎么办?如果该表空不是关键表空,丢失那部分数据宁可不要,也希望数据库先启动,怎么办?上网找了一下方法,做了如下练习(在oracle 11G R1上测试成功):
1、新建一个名叫mytest的表空,该表空有一个表空文件叫mytest01.dbf,放在/myfile这个目录。我在此表空上建了一张表,插几条数据。
2、在操作系统中直接删除这个表空。(linux下可直接删除,windows下没试过)
3、sqlplus '/ as sysdba'进入sqlPLUS后,用以下几个命令把丢失的表空清除。
startup mount; alter database datafile '/myfile/mytest01.dbf' offline drop; alter database open; drop tablespace mytest including contents;4、此时数据已经启动了,虽然丢失的数据找不回了,但如果这不是关键数据,并有备分的话,还是能快速恢复应用的主要功能的。