连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!

Posted windyhan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!相关的知识,希望对你有一定的参考价值。

1.出现如下错误:ORA-12541:TNS:no listener,如下图所示:

 技术分享图片

错误原因是我们没有开启Listener监听器服务,解决方法是在服务中开启这个服务,如下图所示。

技术分享图片

2.出现如下错误:ORA-12514:TNS:监听程序当前无法识别链接描述符中请求的服务。如下图所示:

技术分享图片

解决方法是需要打开服务OracleServiceORCL,如下图所示:

技术分享图片

3.出现错误:ORA-01017:invalid username/password;logon denied。

技术分享图片

解决方法:原来配置数据库连接的时候用户名和密码都是安装Oracle的时候配置的root和root。但是会出现上面的错误,后来使用用户名:scott,密码:tiger,能够成功登陆。这个scott账户也是在安装数据库的时候配置的。

 技术分享图片

 

ORA-12514的错误用第2种方法解决不了,用下面这种方法:

解决方法:修改listener.ora
原:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:appValproduct11.2.0dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:appValproduct11.2.0dbhome_1inoraclr11.dll")
    )
 )

修改后:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:appValproduct11.2.0dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:appValproduct11.2.0dbhome_1inoraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:appValproduct11.2.0dbhome_1)
      (SID_NAME = ORCL)
    )  
 )
注意连接的时候服务名一定要使用ORCL!!!
这样以后,关掉Service和LISTENER。再启动Service和LISTENER,这样应该就可以了,注意顺序。
加上了面一段东西,意思是把LISTENER服务主动注册到进程监视器(pmon)中去。所以,但你启动了Serivce后,启动LISTENER的时候,会主动去注册到进程监视器(pmon)中去。所以不会有什么问题。但是反过却不行。
如果说没有添加那一段,情况正好相反,是由实例的pmon进程在LISTENER中注册服务,LISTENER为被动注册。所以需要先起LISTENER才可以。
总结一下,如果说你不加那段东西,那么就应该先起LISTENER,如果说你加了那段东西,就应该先起Serivce。
我试了一下,的确是这样。(不过在windows上,有时候会报错,重启一下再试就可以了)

此文章为整理加转载,参考文档:

http://blog.csdn.net/xw13106209/article/details/6584753

http://blog.sina.com.cn/s/blog_7c0e26230100t0ci.html



































以上是关于连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!的主要内容,如果未能解决你的问题,请参考以下文章

oracle远程连接报ORA-12541:TNS:无监听程序

ORA-12541 TNS 无监听程序

在连接本机oracle数据库的时候提示:ORA-12541:TNS:没有监听程序

连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序

Oracle ORA-12541,ORA-12514错误

oracle dblink ora-12541 无监听