资讯详情

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

谈到ora-网上有很多解决方案,原因基本统一: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

标签: 连接器pb291

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台