CentOS6.5 Oracle 远程监听配置

前端之家收集整理的这篇文章主要介绍了CentOS6.5 Oracle 远程监听配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

监听这个东西,没接触过还真不知道是什么用的,一个软件装好之后,不应该自动配置好本地和远程的监听吗?配置监听的什么参数在软件中是获取不到的吗?以我微末的经验来看(后面是胡说八道),配置监听的过程中,主要是下一步,下一步,然后输个host,端口,计算机名,SID,这些东西在软件都可以获取到,不就是在host的时候,可以用计算机名,localhost,和ip,对应本地和远程的客户端,但是都有ip就可以达到这个目的了。计算机名,端口号,SID,完全可以在系统和软件中获取到的,为什么要搞个这么复杂的东西。 -----吐槽完毕---- 在windows上,配置监听,有窗口应用程序Net Manager的,直接双击,选好listener,配上host和sid,本地就好了,不过需要到%ORACLE_HOME%/network/admin/tnsnames.ora,配上远程的监听,重启监听服务就好了。

VENN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = global.server.name)  ##也可以换成(SID =**SID.name**) 
    )
  )

看到几个教程说,这个文件不能有空格和空行,不然会出错,我没遇到过

一般来说oracle数据库是装在Linux上的,Linux系统不要桌面环境,会比windows 快、安全、稳定,这是Linux和Unix占领服务器市场的最大原因,当然这些也是数据库的追求。还有就是oracle本来就很占资源,装在windows上,加上系统,占的资源就更多了。 --今天好冷,手指很冰,为什么废话还是这么多--

重点到了

oracle 配置监听运行 > netca 命令 后面是图像界面的操作,除了在选择你要做什么的界面,注意一下是要 “add” “reconfigure” “delete” “rename”,其他都是下一步,端口不建议换。 接下来就是修改%ORACLE_HOME%/network/admin/listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBANAME = global.server.name)
      (ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1) # oracle 安装路径
      (SID_NAME = sid.name)
    )
  )

文件%ORACLE_HOME%/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_VENN =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


VENN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = global.server.name)
    )
  )

注意把ip、SERVICE_NAME 、SID_NAME 和ORACLE_HOME 换成你本地的。 记得把oracle客户端目录下的tnsnames.ora 文件加上

venn =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = global.server.name)
    )
  )

注意ip和SERVICE_NAME,如果服务器端的CONNECT_DATA配的是SID,那客户端也要配SID

还有一个需要注意的是防火墙,忘了开放指定端口(1521)或者关闭防火墙,远程客户端一直连不上oracle数据库也是一件很悲剧的事情。 windows怎么关防火墙或开发指定端口(1521)就不说了

CentOS6.5 查看防火墙状态(以下命令都是在root下执行) # service iptables status 启动防火墙 # service iptables start 关闭防火墙 # service iptables stop 重启防火墙 # service iptables restart

我这边开了1521端口还是提示连接超时,执行了一下命令 # /etc/rc.d/init.d/iptables save,然后/etc/sysconfig/iptables文件变成这样了:

# Generated by iptables-save v1.4.7 on Fri Oct 28 04:27:35 2016
*filter
:INPUT ACCEPT [30:2166]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [19:2108]
COMMIT

规则全变了,跟关了防火墙没什么区别了,不可取。

###科普一下oracle客户端: 就我用过的,除了oracle自己的客户端,sql developer 本身就是oracle的客户端以外,pl/sql developer 、toad和navicat 本身只是sql工具,是不能直接连数据库的,需要oracle客户端来连接oracle数据库

猜你在找的CentOS相关文章