Oracle Net是我们使用Oracle过程中不可缺少的组件环节。对于初学者而言,三个配置文件tnsname.ora、listener.ora和sqlnet.ora是最容易混乱的部分。而且,由于采用ASCII文本格式编辑,非常容易出现配置错误。
监听器控制文件listener.ora是Oracle服务器端管理重要组件文件。监听器监听端口、动静态注册等行为,与这个文件配置内容有千丝万缕的关系。其中的配置参数,如HOST、Port等,也是非容易混淆的内容。
本篇通过一系列的实验,来介绍HOST参数的使用配置方法,以及Oracle Net在处理Host时采用的算法模式。相关阅读:Oracle 双监听器的配置 http://www.linuxidc.com/Linux/2012-12/75814.htmOracle监听器出现的6种连接问题及其解决方法 http://www.linuxidc.com/Linux/2012-12/75568.htmOracle 11g2的监听器配置 http://www.linuxidc.com/Linux/2012-11/75159.htmOracle数据库的监听器挂起情况 http://www.linuxidc.com/Linux/2012-10/71833.htm监听器注册与ORA-12514 错误分析 http://www.linuxidc.com/Linux/2012-11/74087.htm1、Host解析我们在Listener.ora和Tnsname.ora中,都可以遇到Host参数。直观的看,这个参数作用就是指定连接的主机地址。在服务端,监听器listener.ora中的Host就是指定了监听器在哪些地址上进行监听动作。
监听器运行守候三个关键要素:伺候IP地址(一台主机可能有多个网卡、进而有多个IP地址)、连接协议(默认为TCP,但是很多时候处于安全考量会使用其他协议)、端口对象(在哪个端口进行连接等待)。
对Host参数而言,我们可以在服务端listener.ora文件中选择IP地址和主机服务器名称。两种方法下,Oracle监听器是采用不同的策略方法的。 2、环境准备 准备一个多IP网卡的主机环境。实验机器上安装两个网卡对象,配置不同的IP地址。 [root@SimpleLinux network-scripts]# ifconfigeth0 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 localhost6192.168.0.100 SimpleLinux SimpleLinux.localdomain192.168.0.101 SimpleLinux SimpleLinux.localdomain 3、Host连接绑定主机名 如果HOST参数使用主机名,在进行连接监听的时候,Oracle会检索这个主机上所有的网络名称映射,将监听动作绑定在所有的IP地址上。落实到我们这个案例,就意味着对两个IP地址都存在监听行为。
oracle@SimpleLinux admin]$ ls -ltotal 16-rw-r--r-- 1 oracle oinstall 357 Sep 9 08:49 listener.oradrwxr-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.oraListener 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 ora11gTNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-1月 -2014 15:00:51Copyright (c) 1997, 2010, Oracle. All rights reserved.已使用的参数文件:D:appAdministratorproduct11.2.0client_1
etworkadminsqlnet.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_101TNS 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:appAdministratorproduct11.2.0client_1
etworkadminsqlnet.ora 已使用 TNSNAMES 适配器来解析别名尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ora11g)))
OK (10 毫秒) 使用sqlplus连接成功。 SQL> conn scott/tiger@ora11g已连接。SQL> conn scott/tiger@ora11g_101已连接。 说明:当我们使用HOST主机名的时候,Oracle监听器会对该计算机上所有的IP地址开启监听动作。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-05/101153p2.htm
Oracle监听器启动故障TNS-00517解决使用手工方法Clone异名数据库实验相关资讯 Oracle监听器 listener.ora
- Oracle 监听器无法启动(TNS-12555 (08/21/2015 10:17:10)
- Oracle监听器启动故障TNS-00517解 (05/03/2014 14:23:05)
- Linux/Unix shell 监控Oracle监听 (02/02/2013 13:51:56)
| - Oracle 监听器无法启动(TNS-12537 (04/30/2015 09:14:18)
- Oracle 监听器日志配置与管理 (08/17/2013 08:47:15)
- Oracle 双监听器的配置 (12/11/2012 09:55:20)
|
本文评论 查看全部评论 (0)