今天用oracle的时候遇到了这个问题,主要是在建表空间,添加数据文件的时候开始起了个名字不太喜欢,后来想删掉,就把服务停掉了,然后自己去资源管理器中删,再打开oracle用的时候就出现了这个错误。去网上找了解决办法,把最终实验可行的记录下来以备后用。
进入CMD,输入sqlplus sys as sysdba;
输入口令后出现SQL>。
然后输入shutdown immediate 停止服务
之后输入startup 启动服务,这时如果有错误会提示有错误文件无法加载,如datafile 6...
记录这个错误的文件号(这里是6)
然后再次停止服务shutdown immediate,再输入start mount,这时又提启动了服务。
然后如果之前被删掉的文件还在回收站中,可以用recover datafile 6来进行恢复,如果文件已经被彻底删除,就可以用alter database datafile 6 offline drop来对文件进行离线和删除。
之后输入alter database open;
然后为保险起见可以将错误的表空间一并删除 drop tablespace 表空间名称;
之后重新连接conn即可。