ORA-01041: 内部错误,hostdef 扩展名不存在

在工作中打算将生产环境的数据库设置成归档模式时,遇到的问题。

一、重启数据库 

Sql代码:
  1. shutdown immediate;  
  2. startup mount;  

也就是在我执行startup mount时报了一个"ORA-01041: 内部错误,hostdef 扩展名不存在"这样的错误. 

二、原因:本人页碰到类似的错误,主要是我在toad中执行了sqlpus的命令,关闭了数据库,此时的监听也关闭了,然后我直接在服务器上面登录sqlpus,开启数据库,监听自己开启,此问题也没有了。

三、解决办法:

  1. 关掉当前的sqlplus窗口
  2. 打开cmd窗口,输入sqlplus /nolog
  3. conn /as sysdba;
  4. startup; 即可

四、验证:本人为此做了一个错误验证,电脑A为服务器,电脑B为远程访问端服务器处于一切正常状态,客户端进行访问,sys用户连接到服务器后执行shutdown immediate操作,数据库正常关闭,此时在服务器端登录cmd执行lsnrctl stop命令停止oracle监听服务,停止成功后客户端再执行startup mount操作,提示报错:未启动监听(该报错是正常的),然后在服务器端再执行lsnrctl start命令启动oracle监听服务,启动成功后客户端再执行startu mount操作,就会出现上述所产生的错误(ORA-01041: 内部错误,hostdef 扩展名不存在),按照上述方法可以解决问题。

原文地址:https://www.cnblogs.com/login2012/p/5775602.html