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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • AekdyCoin出过的ACM题「建议收藏」

    AekdyCoin出过的ACM题「建议收藏」以下转载AekdyCoin的Blog,可以用来学习出题者思想。1. Mod Tree  (HDU 1st “Old-Vegetable-Birds Cup” Programming Open Contest )本人出的第一个题目,考察的是扩展Baby-step Giant-step,虽然在比赛时数据比较水,可是依然没有人通过……(200+次提交)PS.此题的PO

    2022年7月23日
    6
  • 正则匹配数组全部是数字[通俗易懂]

    正则匹配数组全部是数字[通俗易懂]var value=[“2″,”3”]   varv=value.join(“”);varreg=/^\d+$/g;if(!v.match(reg)){//是否匹配到了数字,未匹配到就不是return;}if(v.match(reg)[0].lengthreturn;}

    2022年6月17日
    59
  • SecureCRT下中文乱码怎么解决?「建议收藏」

    SecureCRT下中文乱码怎么解决?「建议收藏」在SecureCRT窗口中敲击命令后中文出现乱码,比如输入df如何设置编程中文?第一步第二步:说明一下因为视频中的图片不是很清晰,所以我用我自己的中文版SecureCRT,每个位置是一样的.第

    2022年7月1日
    21
  • 宽字节注入(一)_低字节在前高字节在后

    宽字节注入(一)_低字节在前高字节在后在PHP中有这样一个函数:magic_quotes_gpc它的作用就是将你输入的特殊字符前面统统加一个\符号如下图前2句话在看下面这条语句之前,我们首先需要知道。\’只能和\’进行闭合下面这个语句,显然不能将1进行闭合。而是将\当成了一个字符串。后面的单引号把后面的给后面的给闭合了。不能闭合,就显然不能进行SQL注入。这就是magic_quotes_gpc函数的作用了。select*fromadminwhereid=’1\’unionselect–+

    2022年10月14日
    0
  • Extjs grid设置单元格字体颜色,单元格背景颜色,行背景颜色

    Extjs grid设置单元格字体颜色,单元格背景颜色,行背景颜色Extjsgrid设置单元格字体颜色,单元格背景颜色,行背景颜色 一.在ColumnModel中用renderer渲染颜色:1.不定义样式:(1).字体颜色:{ header:"审核状态", dataIndex:"status", width:100, renderer:function(v){ if(v==1){ return"<s…

    2022年7月27日
    1
  • 生命游戏程序_生命游戏怎么玩

    生命游戏程序_生命游戏怎么玩引言群居性昆虫是一个生命,鱼群、鸟群是一个生命,社会、城市是一个有机体,人类的语言是活的,人类的集体行为也是活的。这些复杂系统是如何设计出来的?世界上最著名的游戏之一,GameofLife生命游戏,为这些最神秘的问题提出了可能的解释——也许再复杂的生命,最初也不过是几条最简单的规则。本文从GameofLife的缘起说起,解释了它这几十年给予数学、计算机、哲学的启发,最后把它作为P…

    2022年10月17日
    0

发表回复

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

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