oracle数据文件不小心被删除,导致对应的表空间删不掉的处理方法

时间:2021-12-14 00:28:47

问题现象:
数据文件被无意删除,导致数据库表空间无法删除,并且重新刷表空间提示表空间已经存在;
解决方法:
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;