甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

,,近期,处理一个oracle为windows数据库故障,前期场景是:操作员由于在sqlplus中执行移动命令   

  

移动数据库到新的表空间来消除碎片,但是执行时间长,操作员以为是命令死掉了,就取消掉,没想到取

  

消一直卡着,操作员就把数据库关闭掉,把以前实例还在运行中的备份数据文件,直接覆盖现在数据文件。

  

然后,操作员在执行操作就报错,操作员就把数据库关闭掉,结果数据库无法启动。在后续恢复过程中,

  

我重建了控制文件,因为没有开归档,不能执行完全恢复,恢复肯定有数据丢失,这一点客户接受,恢复

  

过程还算顺利,但是,恢复过程中遇到了启动:ora - 24324和ora - 01041内部错误hostdef扩展名不存在。

  

,,,具体的报错信息如下:

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

,我不理解的是,在操作过程中,修改数据库默认撤消表空间失败,想关闭实例通过pfile来修改,结果遇到了

  

  

  

1,首先,检查甲骨文数据库服务是否启动,结果是数据库和监听服务均处于启动状态

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

2,通过任务管理器检查甲骨文进程是否存在,oracle.exe进程存在,但是内存占用量不正常   甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

3,在sqlplus直接通过启动命令启动实例,提示hostdef问题

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

4,从操作系统层次手工发起关闭甲骨文实例服务

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

5,再次通过pfile文件启动实例,依然提示hostdef问题

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

6,度娘一下,提示关闭当前cmd,另外开启cmd, sqlplus登陆空实例启动可解决hostdef,问题变成tns相关ora - 12560错误

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

  

到这,连sqlplus也无法登陆,空实例都无法连接到了。无奈之下,选择重启windows服务器,发现问题神奇般的解决了:

  

  甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在

甲骨文为windows启动之ora - 24324和ora - 01041内部错误hostdef扩展名不存在