启动Oracle数据库时报错ORA-00119 & ORA-00132

今天启动Oracle数据库时报错ORA-00119 & ORA-00132,找到解决方法做个记录,方便日后查看。

 

若是ORACLE不提示错误的话,可以自己查看ORACLE的日志文件。

Oracle日志文件地址:D:\app\Administrator\product\11.2.0\dbhome_1\database\oradim.log 

 

这里写图片描述

 


果然发现了两个错误:


Wed Nov 09 08:24:07 2016
D:\app\Administrator\product\11.2.0\dbhome_1\bin\oradim.exe -startup -sid orcl -usrpwd * -log oradim.log -nocheck 0
Wed Nov 09 08:25:16 2016
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'


如日志显示的这两个错误:ORA-00119和ORA-00132,可能是因为这两个错误才导致PL/SQL不能正常登录。找到错误根源就好说了,解决这两个问题即可:


方案一:查看tnsname.ora文件,是否有这段字符串;没有的话添加即按照实际情况即可。


LISTENER_DRP =
  (ADDRESS = (PROTOCOL = TCP)(HOST = Niu)(PORT = 1521)) 

其中DRP为你的数据库sid,host为主机名。

 

 


 

 

方案二:tnsname.ora文件没有错误的情况下,也有可能出现这个问题,只能采取方案二了。

网上找了很多资料,主要意思是先用spfile产生pfile,再修改local_listener的参数,再重新产生spfile文件,步骤如下:


1、通过spfile复制一份pfile参数文件(注意:oracle中的pfile指的就是init.ora文件,例如下面命令创建的pfile文件就是“INITdrp.ORA”;spfile文件就是SPFILEDRP.ORA)

SQL> create pfile from spfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA';

2、修改pfile参数文件(也即修改init.ora文件,即本文的INITdrp.ORA文件)

经过第一步以后,在$ORACLE_HOME/database目录会生成文件init.ora,由于我的oracle实例名为drp,所以我的pfile文件为INITdrp.ORA。用记事本打开该文件,找到local_listener这一行,然后将其值修改为:

(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))

其中的your_hostname为你的主机名。

 

 

 


3、重新产生spfile文件SPFILEDRP.ORA

SQL> create spfile from pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\INITorcl.ORA';

4、使用startup命令,重新启动数据库即可。


整个流程如图所示: 

 

 


 


报错时要学会查看Oracle错误日志里面的信息,有时候报的错误并不是表面上的那样,需要我们寻根问底才行。

 

来源:http://itfish.net/article/40251.html

posted @ 2017-01-20 18:06  王鸿云  阅读(4984)  评论(1编辑  收藏  举报