首页 > 代码库 > oracle 11g 手动删除表空间文件导致数据库报错处理方法
oracle 11g 手动删除表空间文件导致数据库报错处理方法
简单说下原因:当时图方便没进数据库,直接在datafile目录下删除了表空间对应的数据文件
导致后来数据库报错,并且不能删除表空间
错误如下;
ORA-01116:error in opening database ****
ORA-01110:data file 54:‘/home3/datafile/arrange/NewArrange.dbf‘
ORA-27041:unable to open file
Linux Error:2: No Such file or directory
Additional information: 3
alter database datafile ‘/hot/oradata/SMSDBMT_INDX01.dbf‘ offline drop;
alter database datafile ‘/hot/oradata/SMSDBMT_INDX01.dbf‘ offline drop
*
ERROR at line 1:
ORA-01516: nonexistent log file, data file, or temporary file
"/hot/oradata/SMSDBMT_INDX01.dbf"
解决办法:
1,先关闭数据库
SQL> shutdown immediate -----报错
SQL> shutdown abort --停用数据库
2,启动数据库到挂载模式
SQL>startup mount
SQL>alter database datafile ‘/hot/oradata/SMSDBMT_INDX01.dbf‘ offline drop; -----删除表空间文件 成功
3, 打开数据库
SQL>alter database open;
4,删除表空间
SQL>drop tablespace SMSDBMT_INDX including contents and datafiles;---删除表空间
本文出自 “10999243” 博客,请务必保留此出处http://11009243.blog.51cto.com/10999243/1857031
oracle 11g 手动删除表空间文件导致数据库报错处理方法