局域网上的主机无法访问我本地上的oracle数据库

我本地上搭建了oracle客户端和服务端,并导入数据,本地上用pl/sql可以访问。但是局域网上的同事却无法访问我本地上的数据库。(可以ping通,监听也已经开了。)很纠结!
防火墙也已经关了,全都关了 。

用pl/sql需要配置本地的文件的
因为oracle服务端访问配置是需要配置访问地址监听的,具体见Oracle安装路径:
% product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

这个是我的oracle监听服务的配置文件,内容为
# listener.ora Network Configuration File: E:\app\rcfeng\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\rcfeng\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\rcfeng\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = E:\app\rcfeng

其中
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

是指监听的地址;
由于本机的服务端一般都是自己做测试的时候访问 ;
而为什么我们写localhost:1521 的时候可以访问到,就是因为
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
这一句,我们监听了localhost,所以可以访问到..

如果需要被局域网访问的话,我们只需要加入监听访问地址就可以了,如:
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.120)(PORT = 1521))

这样局域网的机子就可以访问我们的oracle服务了..完整内容为:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.120)(PORT = 1521))
)
)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-21
你核对下你另外一台电脑的配置信息是否正确,ip地址 SID 或者servername是否正确?追问

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
我本机的ip是192.168.3.100,servername是XE,SID 不知道是什么,要怎么配。

追答

这是你数据库端的配置? 你把SERVICE_NAME 改成SID 试试看吧

相似回答