gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章与虚拟机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:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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:

?
1
2
3
4
5
6
7
8
9
ORCL_XNJ =
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 182.12.15.232)(PORT = 1521))
   )
   (CONNECT_DATA =
    (SERVICE_NAME = test) 与自定义服务名对应
   )
  )

再次连接,问题解决! 。

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

最后此篇关于与虚拟机Oracle连接出现ora-12154问题的解决方法的文章就讲到这里了,如果你想了解更多关于与虚拟机Oracle连接出现ora-12154问题的解决方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com