监听器listener.ora中HOST参数配置(一)

2014-11-24 17:24:48 · 作者: · 浏览: 0

相关阅读:


1、Host解析


我们在Listener.ora和Tnsname.ora中,都可以遇到Host参数。直观的看,这个参数作用就是指定连接的主机地址。在服务端,监听器listener.ora中的Host就是指定了监听器在哪些地址上进行监听动作。

监听器运行守候三个关键要素:伺候IP地址(一台主机可能有多个网卡、进而有多个IP地址)、连接协议(默认为TCP,但是很多时候处于安全考量会使用其他协议)、端口对象(在哪个端口进行连接等待)。

对Host参数而言,我们可以在服务端listener.ora文件中选择IP地址和主机服务器名称。两种方法下,Oracle监听器是采用不同的策略方法的。



2、环境准备



准备一个多IP网卡的主机环境。实验机器上安装两个网卡对象,配置不同的IP地址。



[root@SimpleLinux network-scripts]# ifconfig


eth0 Link encap:Ethernet HWaddr 08:00:27:C2:AB:D2


inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0


inet6 addr: fe80::a00:27ff:fec2:abd2/64 Scope:Link


UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1



eth1 Link encap:Ethernet HWaddr 08:00:27:61:80:AF


inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0


inet6 addr: fe80::a00:27ff:fe61:80af/64 Scope:Link



两个IP地址被绑定在一台主机上,分别为192.168.0.100和192.168.0.101。如果使用名称解析,还要讲IP地址和服务器名称绑定在DNS或者本地/etc/hosts文件中。



[root@SimpleLinux network-scripts]# cat /etc/hosts


# Do not remove the following line, or various programs


# that require network functionality will fail.


127.0.0.1 SimpleLinux.localdomain SimpleLinux localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6


192.168.0.100 SimpleLinux SimpleLinux.localdomain


192.168.0.101 SimpleLinux SimpleLinux.localdomain



3、Host连接绑定主机名



如果HOST参数使用主机名,在进行连接监听的时候,Oracle会检索这个主机上所有的网络名称映射,将监听动作绑定在所有的IP地址上。落实到我们这个案例,就意味着对两个IP地址都存在监听行为。



oracle@SimpleLinux admin]$ ls -l


total 16


-rw-r--r-- 1 oracle oinstall 357 Sep 9 08:49 listener.ora


drwxr-xr-x 2 oracle oinstall 4096 Sep 9 08:39 samples


-rw-r--r-- 1 oracle oinstall 205 May 11 2011 shrept.lst


-rw-r----- 1 oracle oinstall 322 Sep 9 09:01 tnsnames.ora


[oracle@SimpleLinux admin]$ cat listener.ora


# listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora

# Generated by Oracle configuration tools.



LISTENER =


(DESCRIPTION_LIST =


(DESCRIPTION =


(ADDRESS = (PROTOCOL = TCP)(HOST = SimpleLinux.localdomain)(PORT = 1521))


(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))


)


)



ADR_BASE_LISTENER = /u01/app



注意:当前使用的就是主机名称。启动监听器进行监听动作。




[oracle@SimpleLinux admin]$ lsnrctl status



LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 02-JAN-2014 15:00:17



Listener Parameter File /u01/app/oracle/network/admin/listener.ora


Listener Log File /u01/app/diag/tnslsnr/SimpleLinux/listener/alert/log.xml

Listening Endpoints Summary...


(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SimpleLinux.localdomain)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))


从远程服务器进行连接测试。


D:\>tnsping ora11g


TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-1月 -


2014 15:00:51


Copyright (c) 1997, 2010, Oracle. All rights reserved.


已使用的参数文件:


D:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名


尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ora11g)))

OK (210 毫秒)


D:\>tnsping ora11g_101


TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-1月 -


2014 15:02:21



Copyright (c) 1997, 2010, Oracle. All rights reserved.



已使用的参数文件:


D:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.ora



已使用 TNSNAMES 适配器来解析