您的位置:首页 > 数据库 > Oracle

CentOS6.5 Oracle 远程监听配置

2016-10-28 00:00 1071 查看
摘要: 数据库装好了,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 配置oracle 监听