Oracle RAC 监听配置 (listener.ora tnsnames.ora)

Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的。在Oracle中 tns进程用于为指定网络地址上的一个或多

Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的。在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务提出的连接请求。一旦连接请求到达,并派生出一个服务器进程建立服务器与用户端之间的连接(专有服务器dedicated server)或转发服务请求(共享服务器模式shared server)。如果监听器知道多于一个实例提供所请求的服务,则可能会根据客户端与服务器端相关配置将请求定位到较低负载的实例为其提供服务。因此合理正确配置监听器以及tnsnames是Oracle RAC实现负载均衡以及failover的前提,本文将描述基于 SUSE linux 10 + Oracle 10g RAC 下监听器的配置。

一、节点上监听信息

1、两个节点及主机配置信息(bo2dbp,,bo2dbs) 
    oracle@bo2dbp:/u01/oracle/db/network/admin> cat /etc/hosts 
     
    127.0.0.1       localhost.2gotrade.com   localhost 
    # Public  
    192.168.7.51   bo2dbp.2gotrade.com        bo2dbp 
    192.168.7.52   bo2dbs.2gotrade.com        bo2dbs 
    #Private  
    10.10.7.51   bo2dbp-priv.2gotrade.com   bo2dbp-priv 
    10.10.7.52   bo2dbs-priv.2gotrade.com   bo2dbs-priv 
    #Virtual  
    192.168.7.61   bo2dbp-vip.2gotrade.com    bo2dbp-vip 
    192.168.7.62   bo2dbs-vip.2gotrade.com    bo2dbs-vip 
 
2、节点bo2dbp上的listener.ora 
    oracle@bo2dbp:/u01/oracle/db/network/admin> more listener.ora 
    # listener.ora.bo2dbp Network Configuration File: /u01/oracle/db/network/admin/listener.ora.bo2dbp  
    # Generated by Oracle configuration tools.  
     
    LISTENER_BO2DBP = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbp-vip.2gotrade.com)(PORT = 1521)(IP = FIRST)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.51)(PORT = 1521)(IP = FIRST)) 
        ) 
      ) 
     
    SID_LIST_LISTENER_BO2DBP = 
      (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = PLSExtProc) 
          (ORACLE_HOME = /u01/oracle/db) 
          (PROGRAM = extproc) 
        ) 
      ) 
 
3、节点bo2dbp上的tnsnames.ora 
    oracle@bo2dbp:/u01/oracle/db/network/admin> more tnsnames.ora 
    #对于连接字符串GOBO1A,GOBO1B,GOBO1在此处可以省略  
    #这些字符串通常用于客户端连接到数据库  
    GOBO1B = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = GOBO1) 
          (INSTANCE_NAME = GOBO1B) 
        ) 
      ) 
     
    GOBO1A = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = GOBO1) 
          (INSTANCE_NAME = GOBO1A) 
        ) 
      ) 
     
    GOBO1 = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
        (LOAD_BALANCE = yes) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = GOBO1) 
        ) 
      ) 
     
    #下面是几个重要的用于设置local_listener 以及remote_listener参数的定义信息  
    LISTENER_BO2DB = 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
      ) 
     
    LISTENER_BO2DBP = 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.61)(PORT = 1521)) 
      ) 
     
    LISTENER_BO2DBS = 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.62)(PORT = 1521)) 
      )   
    #Author: Robinson cheng  
    #Blog  :     
 
4、节点bo2dbp上监听器的信息 
    #可以看出只有实例 GOBO1A 注册到监听器 LISTENER_BO2DBP  
    oracle@bo2dbp:/u01/oracle/db/network/admin> lsnrctl status LISTENER_BO2DBP 
     
    LSNRCTL for Linux: Version 10.2.0.3.0 – Production on 25-SEP-2012 17:12:04 
     
    Copyright (c) 1991, 2006, Oracle.  All rights reserved. 
     
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bo2dbp-vip.2gotrade.com)(PORT=1521)(IP=FIRST))) 
    STATUS of the LISTENER 
    ———————— 
    ………….. 
    Listener Parameter File   /u01/oracle/db/network/admin/listener.ora 
    Listener Log File         /u01/oracle/db/network/log/listener_bo2dbp.log 
    Listening Endpoints Summary… 
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.61)(PORT=1521))) 
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.51)(PORT=1521))) 
    Services Summary… 
    Service “+ASM” has 1 instance(s). 
      Instance “+ASM1”, status BLOCKED, has 1 handler(s) for this service… 
    Service “+ASM_XPT” has 1 instance(s). 
      Instance “+ASM1”, status BLOCKED, has 1 handler(s) for this service… 
    Service “GOBO1” has 1 instance(s). 
      Instance “GOBO1A”, status READY, has 1 handler(s) for this service… 
    Service “GOBO1XDB” has 1 instance(s). 
      Instance “GOBO1A”, status READY, has 1 handler(s) for this service… 
    Service “GOBO1_XPT” has 1 instance(s). 
      Instance “GOBO1A”, status READY, has 1 handler(s) for this service… 
    Service “PLSExtProc” has 1 instance(s). 
      Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service… 
    The command completed successfully 
 
5、节点bo2dbs上的listener.ora 
    oracle@bo2dbs:/u01/oracle/db/network/admin> more listener.ora 
    # listener.ora.bo2dbs Network Configuration File: /u01/oracle/db/network/admin/listener.ora.bo2dbs  
    # Generated by Oracle configuration tools.  
     
    LISTENER_BO2DBS = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbs-vip.2gotrade.com)(PORT = 1521)(IP = FIRST)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.52)(PORT = 1521)(IP = FIRST)) 
        ) 
      ) 
     
    SID_LIST_LISTENER_BO2DBS = 
      (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = PLSExtProc) 
          (ORACLE_HOME = /u01/oracle/db) 
          (PROGRAM = extproc) 
        ) 
      )   
    #由于节点bo2dbs上的tnsnames.ora与节点bo2dbp内容相同,不再列出  
 
6、节点bo2dbs上的监听器状态 
    #同样可以看到只有一个 instance,即GOBO1B注册到了监听器 LISTENER_BO2DBS  
    oracle@bo2dbs:/u01/oracle/db/network/admin> lsnrctl status LISTENER_BO2DBS 
     
    LSNRCTL for Linux: Version 10.2.0.3.0 – Production on 25-SEP-2012 17:12:31 
     
    Copyright (c) 1991, 2006, Oracle.  All rights reserved. 
     
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bo2dbs-vip.2gotrade.com)(PORT=1521)(IP=FIRST))) 
    STATUS of the LISTENER 
    ———————— 
    ………………….. 
    Listening Endpoints Summary… 
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.62)(PORT=1521))) 
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.52)(PORT=1521))) 
    Services Summary… 
    Service “+ASM” has 1 instance(s). 
      Instance “+ASM2”, status BLOCKED, has 1 handler(s) for this service… 
    Service “+ASM_XPT” has 1 instance(s). 
      Instance “+ASM2”, status BLOCKED, has 1 handler(s) for this service… 
    Service “GOBO1” has 1 instance(s). 
      Instance “GOBO1B”, status READY, has 1 handler(s) for this service… 
    Service “GOBO1XDB” has 1 instance(s). 
      Instance “GOBO1B”, status READY, has 1 handler(s) for this service… 
    Service “GOBO1_XPT” has 1 instance(s). 
      Instance “GOBO1B”, status READY, has 1 handler(s) for this service… 
    Service “PLSExtProc” has 1 instance(s). 
      Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service… 
    The command completed successfully   
     
    #通过上面的观察可知,当前的两个实例都是在各自所在主机上的监听器进行了注册。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1914462.html

(0)
上一篇 2025年2月22日 17:45:07
下一篇 2025年2月22日 17:45:27

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Oracle RAC cache fusion原理测试

    Oracle RAC cache fusion是RAC最核心的工作机制,他把所有实例的SGA虚拟成一个大的SGA区,每当不同的实例请求相同的数据块,这个数 oracle rac cache fusion是rac最核心的工作机制,他把所有实例…

    数据库 2025年2月23日
    100
  • Oracle RAC DRM基本概念

    在oracle RAC中,每个实例均存在一个数据缓存池,每个block的改变都将实例间进行资源协调以获取最大化性能,从而保证数据的完整性 在Oracle RAC中,每个实例均存在一个数据缓存池,每个block的改变都将实例间进行资源协调以获…

    数据库 2025年2月22日
    100
  • Oracle RAC系列之:利用srvctl管理RAC数据库

    srvctl即Server Control,是Oracle提供的一个命令行工具,用以用于管理Oracle的RAC环境。srvctl在Oracle 9i中被引入,Oracle10g、 srvctl即Server Control,是Oracle…

    数据库 2025年2月22日
    100
  • Oracle RAC下添加静态注册监听器listener

    通过设置不同的listener,可以在一台服务器多实例c环境下实现业务的隔离,方便业务起停和管理。添加的方法除了netca外,比较简单 通过设置不同的listener,可以在一台服务器多实例c环境下实现业务的隔离,方便业务起停和管理。添加的…

    数据库 2025年2月22日
    100
  • Oracle RAC 服务器端连接负载均衡(Load Balance)

    Oracle RAC服务器端的%ignore_a_1%是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去。当数据库处于运行时 oracle rac服务器端的负载均衡是根据rac中各节点的连接负荷数情况,将新的连接请…

    数据库 2025年2月22日
    200
  • Oracle RAC 客户端连接负载均衡(Load Balance)

    实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力 实现负载均衡(load balance)是oracle rac最重要的特性之一,主要是把负载平…

    数据库 2025年2月22日
    200
  • Oracle RAC中的投票算法

    两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况 假设,rac集群中有三台机器,a,b,c A,B,C都会有3票,假设这是A的心跳线出现问题,整个RA…

    数据库 2025年2月22日
    200
  • Oracle RAC 连接到指定实例

    在某些特定的情形下,有时候需要从客户端连接到RAC中指定的实例,而不是由客户端Load_balance来动态选择或者是通过服务器端的监听 在某些特定的情形下,有时候需要从客户端连接到rac中指定的实例,而不是由客户端load_balance…

    数据库 2025年2月22日
    200
  • 再说 Oracle RAC services

    应用程序工作负载在Oracle 10g中可以被定为services,也称之为服务,能够在单实例中使用,也能够在RAC中单独使用和管理。因此整个 应用程序工作负载在oracle 10g中可以被定为services,也称之为服务,能够在单实例中…

    数据库 2025年2月22日
    200
  • 使用crs_setperm修改RAC资源的所有者及权限

    Oracle RAC 集群中,对于各种资源的管理,也存在所有者与权限的问题。crs_getperm与crs_setperm则是这样的一对命令,主要用于查看 oracle rac 集群中,对于各种资源的管理,也存在所有者与权限的问题。crs_…

    数据库 2025年2月22日
    200

发表回复

登录后才能评论