oracle连接出现ora-12154,与虚拟机Oracle连接出现ora-12154问题的解决方法

oracle连接出现ora-12154,与虚拟机Oracle连接出现ora-12154问题的解决方法谈到ora-12154问题,网上有一大堆解决方法,原因基本统一:tns或listener配置不正确。对于listener配置不正确的一般较少发生,大多数人都是按照默认配置一路“下一步”过来的,基本都是orcl的服务名,如果说本地可以连通orcl,别的机子就连不通那应该跟listener关系不大。大部分都是tns配置不正确。我遇到的现象是:在本机建了一个2003的虚拟机,虚拟机里面装了oracle1…

大家好,又见面了,我是你们的朋友全栈君。

谈到ora-12154问题,网上有一大堆解决方法,原因基本统一:tns或listener配置不正确。对于listener配置不正确的一般较少发生,大多数人都是按照默认配置一路“下一步”过来的,基本都是orcl的服务名,如果说本地可以连通orcl,别的机子就连不通那应该跟listener关系不大。大部分都是tns配置不正确。我遇到的现象是:在本机建了一个2003的虚拟机,虚拟机里面装了oracle10g,默认配置。本机只装了oracle10g的客户端,当我以前用本机连接局域网内数据库的orcl服务(数据库与局域网内数据库一样)时没有问题,但是在连接虚拟机中的orcl服务却连不通,总是报ora-12154错误。而虚拟机内,plsql却可以连接虚拟机oracle,但是不能连接本机所在局域网内的oracle。

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

在虚拟机内开cmd,用lsnrctl status查看监听器监听的服务

如看到监听服务“orcl”,那在本机的tns配置中(SERVICE_NAME = orcl)必须写orcl;如果想要自定义,则在虚拟机内的listener配置中就要加入自定义服务名,记得要重启监听服务:lsnrctl reload

最后形成的配置文件如下

虚拟机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数、注册表之类的,要想想本机能连为什么通过网络就不行,还是定位问题。

时间: 2017-03-12

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161561.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月19日 下午5:36
下一篇 2022年7月19日 下午5:36


相关推荐

  • 一文详解深度相机之TOF成像[通俗易懂]

    一文详解深度相机之TOF成像[通俗易懂]点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达文章导读本文通过介绍TOF相机的成像过程,带大家了解TOF相机中脉冲法和连续波调制这两种技术原理,并详细的分析每种方法的实现细节和各…

    2022年5月15日
    54
  • tkmybatis详细教程(一篇就明白)

    tkmybatis是对底层sql进行了抽象封装,不需要考虑sql怎么写,只需要按照逻辑思维,遵循tkmybatis的语法即可实现数据库操作。本文适合对springboot项目结构有一定了解的读者。本文的项目基础是一个demo项目(多模块的)。1.配置1、添加tkmybatis的依赖<dependency><groupId>tk.mybatis</groupId>

    2022年4月1日
    314
  • Windows 编程(多进程)

    Windows编程(多进程)进程组成:操作系统用来管理进行的内核对象内核对象也是系统用来存放关于进程的统计信息的地方.内核对象是操作系统内部分配的一个内存块,该内存块是一种数据结构,其成员负

    2021年12月13日
    59
  • 口罩、安全帽识别比赛踩坑记(二) 比赛流程及 SSD / YOLO V3 两版本实现[通俗易懂]

    口罩、安全帽识别比赛踩坑记(二) 比赛流程及 SSD / YOLO V3 两版本实现[通俗易懂]本篇文章主要对比赛流程中的各个环节进行展开说明,并对笔者践行过的代码及更改的地方进行记录。如哪里有侵权请联系笔者进行删除。另外在这里对比赛举办方表示感谢~~其中开源代码会在整理后放在github上,并给出相应的链接,这里先留一个小尾巴~~相关有用的链接如下:口罩、安全帽识别比赛踩坑记(一)经验漫谈及随想比赛官方开发环境指导Dockerfile官方文档OpenVINO官方文档…

    2022年5月12日
    78
  • 【吐血整理】想学Google Guava看这篇就够了「建议收藏」

    【吐血整理】想学Google Guava看这篇就够了「建议收藏」GoogleGuava常用功能梳理,想学习Guava的看过来

    2025年8月20日
    7
  • 电脑日语输入法打不了假名_华为输入法日语片假名

    电脑日语输入法打不了假名_华为输入法日语片假名换了个电脑装日语输入法,一直只能输英文字母打不了字,记录下解决方法。选语言首选项日本语->选项微软输入法->选项高级设置将下面的罗马字输入改为假名输入即可也可以选日英文混合,把下面都勾上,可以日文英文切换,比较方便。之后可以看到输入法旁边有个小假名,直接输入就可以了 こんにちは…

    2026年4月13日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号