谈到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)     )
  )

本机tns:

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

再次连接,问题解决!

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

与虚拟机连接出现ora-12514错误解决方法的更多相关文章

  1. mysql(8.0连接navicat发生的错误解决方法)

    关于mysql(8.0连接navicat发生的错误解决方法)数据库安装图形化界面无法更改加密的方式导致无法连接问题为解决; Alter user 'root'@'localhost' identifi ...

  2. EF6 连接Oracle 迁移数据错误解决方法

    环境:vs2015 + EF6 +ODP 数据库Oracle 11G add-migratioin 正常,但在update-database 时报如下错误: System.Runtime.Serial ...

  3. C#常见错误解决方法

    1.能提供Visual Studio开发工具包吗? 解决方法: Visual Studio 2017开发环境下载地址: https://www.visualstudio.com/zh-hans/dow ...

  4. mysql Access denied for user root@localhost错误解决方法总结(转)

    mysql Access denied for user root@localhost错误解决方法总结(转) mysql Access denied for user \'root\'@\'local ...

  5. SSH连接不上Linux的解决方法

    SSH连接不上Linux的解决方法: 连续弄了几次,今天早上终于把SSH连接虚拟机连接不通的问题解决了. 先简单说下概要: 主机装的是XP系统,虚拟机用的是red hat Linux. 我用的是nat ...

  6. 403 Forbidden是什么意思?403 Forbidden错误解决方法

    大家平常在访问不同网站的时候,偶尔会遇到出现403 Forbidden错误的情况,浏览器会给出403 Forbidden错误提示.那么,403 forbidden是什么意思呢?出现403 Forbid ...

  7. MySQL程序端启动密码错误解决方法

    MySQL程序端启动密码错误解决方法 一般启动MySQL程序端,都是用mysql -uroot -p命令,当然前提是你的环境变量已经配好了. 为了连接服务器,当调用mysql时,通常需要提供一个MyS ...

  8. Error, some other host already uses address 192.168.0.202错误解决方法

    Error, some other host already uses address 192.168.0.202错误解决方法 今天配置虚拟机网卡的时候遇到错误:Error, some other h ...

  9. 错误”ORA-12560: TNS: 协议适配器错误“解决方法

    错误”ORA-12560: TNS: 协议适配器错误“解决方法 原本是可以通过sqlplus连接数据库的,命令如下: C:\Users\xuwei>sqlplus /nolog SQL*Plus ...

  10. (C#)asp_net调试错误解决方法收集(1)

    (C#)asp_net调试错误解决方法收集(1) 2007-11-2309:20 一.异常详细信息:System.InvalidOperationException:对于不返回任何键列信息的Selec ...

随机推荐

  1. 在SSH框架中,如何得到POST请求的URL和参数列表

    在做项目的API通知接口的时候,发现在SSH框架中无法获取到对方服务器发来的异步通知信息.最后排查到的原因可能是struts2对HttpServletRequest进行了二次处理,那么该如何拿到pos ...

  2. ASP.NET MVC 4 (二)控制器

    MVC中控制器负责处理请求,由它操作数据模型,最后返回视图给用户. IController接口 所有的控制器类以Controller结尾,必须实现System.Web.Mvc.IController接 ...

  3. wee hours

    前言: 程序员问科比:“你为什么这么成功? ” 科比:“你知道凌晨四点的城市是什么样子吗?” 程序员:“知道,一般那个时候我还在写代码,怎么了?” 科比:“没事了……” 说起程序员,可能很多人脑中会蹦 ...

  4. STL——算法简介

    一.算法概观 以有限的步骤,解决逻辑或数学上的问题,这一专门科目我们称为算法.特定的算法往往搭配特定的数据结构,例如binary search tree(二叉搜索树)和 RB-tree 便是为了解决查 ...

  5. 【技术分享会】 iOS开发简述

    前言 Objective-C(简称OC)也是面向对象的编程语言,运用的许多面向对象的编程思想和C# . Java .C++等变成语言都是相通的: 本次技术讲座主要讲一些设计模式.设计思想等计算机语言通 ...

  6. SQL Server设置登录验证模式

    我们在安装SQL Server的时候可以设置“混合验证模式”,既可以使用windows身份验证登录,也可以使用SQL Server身份验证登录. 如果我们在安装的时候并未设置"混合验证模式& ...

  7. css3整理--text-shadow

    text-shadow语法: text-shadow:[颜色(Color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)],[颜色(color) x轴(X Offset) ...

  8. ubuntu14.04 LTS Python IDE专用编辑器PyCharm开发环境搭建

    https://www.zhihu.com/question/20381207   有哪些值得推荐的 Python 开发工具? 一 PyCharm下载 官网下载地址:https://www.jetbr ...

  9. powerDesigner根据sql脚本来逆向生成pdm等模型

    一.问题概述 网上一般的博文都是说要建立数据源的方式来逆向或者正向. 我这人比较懒得折腾,更喜欢通过sql脚本的方式来做. 二.步骤 File-->New Model--> 然后: 注意上 ...

  10. Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

    相关博客:https://linux.cn/article-3401-1.html 对于那些主要通过控制台或终端使用 Linux 命令行来工作的 Linux 用户来说,他们真切地感受到了 Linux ...