1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

连接Oracle虚拟机出现ora-12154问题的解决方案的相关知识是本文我们主要要介绍的内容。谈到ora-12154问题,网上有一大堆解决方法,原因基本统一:tns或listener配置不正确。对于listener配置不正确的一般较少发生,大多数人都是按照默认配置一路“下一步”过来的,基本都是orcl的服务名,如果说本地可以连通orcl,别的机子就连不通那应该跟listener关系不大。

大部分都是tns配置不正确。我遇到的现象是:在本机建了一个2003的虚拟机,虚拟机里面装了oracle10g,默认配置。本机只装了oracle10g的客户端,当我以前用本机连接局域网内数据库的orcl服务(数据库与局域网内数据库一样)时没有问题,但是在连接虚拟机中的orcl服务却连不通,总是报ora-12154错误。而虚拟机内,plsql却可以连接虚拟机oracle,但是不能连接本机所在局域网内的oracle。

按照如下过程,一般都能解决:

  1. 在虚拟机内开cmd,用lsnrctl status查看监听器监听的服务
  2. 如看到监听服务“orcl”,那在本机的tns配置中(SERVICE_NAME = orcl)必须写orcl;如果想要自定义,则在虚拟机内的listener配置中就要加入自定义服务名,记得要重启监听服务:lsnrctl reload
  3. 最后形成的配置文件如下:

    虚拟机listener:

    SID_LIST_LISTENER= 
    (SID_LIST= 
    (SID_DESC= 
    (GLOBAL_DBNAME=test)自定义服务名 
    (ORACLE_HOME=E:\oracle\product\10.2.0\db_1)db_home 
    (SID_NAME=test) 
    
    ) 
    (SID_DESC= 
    (PROGRAM=extproc) 
    (SID_NAME=PLSExtProc) 
    (ORACLE_HOME=E:\oracle\product\10.2.0\db_1)##这个服务保证你可以使用外部过程,如C程序 
    ) 
    )
    

    本机tns:

    ORCL_XNJ= 
    (DESCRIPTION= 
    (ADDRESS_LIST= 
    (ADDRESS=(PROTOCOL=TCP)(HOST=182.12.15.232)(PORT=1521)) 
    ) 
    (CONNECT_DATA= 
    (SERVICE_NAME=test)与自定义服务名对应 
    ) 
    )
    

    再次连接,问题解决!

    总结:记住,一定从最简单的原因找起,不要一上去就看到网上的什么改process数、注册表之类的,要想想本机能连为什么通过网络就不行,还是定位问题。

    关于连接Oracle虚拟机出现ora-12154问题的解决方案的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

本文来源:1818IP

本文地址:https://www.1818ip.com/post/10707.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。