zoukankan      html  css  js  c++  java
  • 与虚拟机连接出现ora-12514错误解决方法

    谈到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:oracleproduct10.2.0db_1) db_home
          (SID_NAME = test)       

        )
        (SID_DESC =
          (PROGRAM = extproc)
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = E:oracleproduct10.2.0db_1)     )
      )

    本机tns:

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

    再次连接,问题解决!

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

  • 相关阅读:
    虚拟机安装Linux方案和操作系统启动流程
    CentOS7防止root密码被破解
    子网划分和VLAN
    Python之包的相关
    禁止复制文本的代码 HTML
    asp.net中Session过期设置方法
    CSS+DIV问题!DIV的最小高度问题!
    设置COOKIE过期时间的方法
    网站常见问题及解决方法(div/css)
    ASP.NET中如何删除最近打开的项目和文件的记录
  • 原文地址:https://www.cnblogs.com/wcwen1990/p/4112633.html
Copyright © 2011-2022 走看看