问题现象:
数据文件被无意删除,导致数据库表空间无法删除,并且重新刷表空间提示表空间已经存在;
解决方法:
1、oracle用户登录服务器,使用sysdba连接数据库
>sqlplus / as sysdba
2、加载启动数据库
sql> startup mount;
3、将表空间下创建的数据文件全部删除;
比如表空间TEST_DAT,创建了两个数据文件‘/opt/oracle/oradata/TESTDB01.dbf‘
和‘/opt/oracle/oradata/TESTDB02.dbf‘,其中TESTDB01.dbf已被删除
执行如下命令删除剩余的数据文件TESTDB02.dbf‘:
sql>alter database datafile ‘/opt/oracle/oradata/TESTDB02.dbf‘ offline
drop;
4、打开数据库
sql> alter database open;
5、清除相应的tablespace
sql>alter tablespace TEST_DAT
offline;
sql>drop tablespace TEST_DAT including contents and datafiles;