执行查看数据库表空间信息报错 ORA-01116、ORA-01110、ORA-27041

--查看剩余表空间大小
SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M
FROM dba_free_space GROUP BY tablespace_name;

ORA-01116: 打开数据库文件 18 时出错
ORA-01110: 数据文件 18: '/home/oracle/oradata/iepgm1'
ORA-27041: 无法打开文件
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
解决

alter database datafile '/home/oracle/oradata/iepgm1' offline drop;



经过查看的确没有 '/home/oracle/oradata/iepgm1'
该文件了,现在数据库还在启动状态,是不是关闭数据库再重启的时候将不能正常启动,我如何解决呢?请大家帮忙
这种解决方法是在数据不重要的情况下。
1、是否有备份?备份方式是怎样的?如果备份做的好那余下的就不有说的,restore,recover就ok了。

2、'/home3/datafile/arrange/NewArrange.dbf'这个文件是否重要?是否有重要的数据?因还在启动状态,可以自己查一下:
select * dba_extents where file_id=54;

3、如果这个数据文件没有用,或是其中的数据不重要,可以offline drop掉,问题就解决掉了。
alter database datafile '/home3/datafile/arrange/NewArrange.dbf' offline drop;
如果open执行不成功,则在startup mount状态执行。

4、问题不处理掉,库如果重启是open不了的。
解决方法:
1、这是一个测试机,没有备份,不想因此而重装系统
2、执行select * from dba_extents where file_id=54;
出错如图
'/home3/datafile/arrange/NewArrange.dbf'这个文件已经被删除了,在
经过
3、经过3处理成功


你可能感兴趣的:(oracle)