ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 局域网上的主机无法访问本地上的oracle数据库的问题

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

原创 Linux操作系统 作者:埃踢知识分子 时间:2012-07-26 21:25:18 0 删除 编辑
 
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))
    )
  )
 
 
Oracle的网络配置有三个文件LISTENER.ORA、SQLNET.ORA、TNSMANES.ORA,
其中LISTENER.ORA是服务器端配置,SQLNET.ORA和TNSNAMES.ORA是客户端配置。
既然你的本地上能够访问数据库(不是用sys用户登入),说明你本地机器的服务器端配置和客户端配置都是正确的。你只要把你的客户端配置文件SQLNET.ORA和TNSNAMES.ORA复制到其他同事的机器上,其他同事就可以访问你本地数据库了。
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27167637/viewspace-737043/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-07-16

  • 博文量
    9
  • 访问量
    8887