Oracle RAC实现客户端连接负载均衡

实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力。通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式。本文主要讨论的是基于客户端连接的负载均衡,并给出演示。

一、客户端的负载均衡

客户端的负载均衡主要是通过为tnsnames.ora增加load_balance=yes条目来实现,下面看看oracle(Note:226880.1)的解释

The client load balancing feature enables clients to randomize connection requests among the listeners. Oracle Net progresses through the list of

protocol addresses in a random sequence, balancing the load on the various listeners. Without client load balancing, Oracle Net progresses through the

list of protocol addresses sequentially until one succeeds.  This normally is referred to connect-time load balance.

从上面的描述中可以得知,如果未开启load_balance=yes时,Oracle Net会根据地址列表按顺序来选择一个进行连接,直到连接成功为止。

如果第一个host主机连接失败,在有多个地址的情形下,接下来选择第二个地址连接,依此类推,直到连接成功为止。

当开启了load_balance=yes时,则Oracle Net会从多个地址中随机地选择一个地址进行连接,直到连接成功为止。

注意,此连接方式仅根据地址列表随机选择,并不考虑到各个实例上当前真正连接数量的多少,也即是没有考虑各个节点真实的连接负载情况。

二、服务器与客户端的配置情况

1、服务器端监听器配置

oracle@bo2dbp:~> more $ORACLE_HOME/network/admin/listener.ora  --#节点bo2dbp上的listener

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

# Generated by Oracle configuration tools.

LISTENER_NEW_BO2DBP =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbp-vip.2gotrade.com)(PORT = 1314)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.51)(PORT = 1314)(IP = FIRST))

)

)

...........................--#其余部分省略,注意此处的配置是使用了1314的非缺省监听器端口号    

oracle@bo2dbs:/u01/oracle/db/network/admin> more listener.ora  --#节点bo2dbs上的listener

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

# Generated by Oracle configuration tools.

LISTENER_NEW_BO2DBS =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = bo2dbs-vip.2gotrade.com)(PORT = 1314)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.52)(PORT = 1314)(IP = FIRST))

)

)

...............

2、参数配置

-->instrance ora10g1上的参数配置

SQL> show parameter instance_na

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

instance_name                        string      ora10g1

SQL> show parameter listener

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

local_listener                       string      local_lsnr_ora10g1

remote_listener                      string      remote_lsnr_ora10g

-->instrance ora10g2上的参数配置

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-08-30 01:06:52

Oracle RAC实现客户端连接负载均衡的相关文章

Oracle RAC的服务器端连接负载均衡简介

Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去.当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到service_register.而对于节点中任意监听器故障或监听器意外失败时,PMON进程会每1秒钟检查当前节点上的监听是否重启,以获得最新的负载信息来及时调整负载均衡.本文主要演示suse 10 + oracle 10g rac下的服务器端的负载均衡. 一.服务器端负载均衡配置 1.为tnsna

Oracle RAC 客户端连接负载均衡(Load Balance)

        实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力.通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式.本文主要讨论的是基于客户端连接的负载均衡,并给出演示.         与负载均衡配置之前的监听配置请参考              ORACLE RAC 监听配置

Oracle RAC 负载均衡测试(结合服务器端与客户端)

        Oracle RAC 负载均衡使得从客户端发起的连接能够有效地分配到监听器负载较小的实例上.有两种方式实现客户端负载均衡,一是通过配置客户端的load_balance,一是通过配置服务器端的remote_listener参数.两种方式各有优劣,而且两者并不相互排斥,因此可以结合两种方式来更加有效的实现负载均衡.本文将描述两者结合的使用情况(oralce 10g rac).         有关客户端与服务端负载均衡的单独测试请参考:              Oracle RAC

【RAC】RAC中的负载均衡和故障切换--TAF配置

[RAC]RAC中的负载均衡和故障切换--TAF配置 涉及到的内容包括:   Oracle RAC 客户端连接负载均衡(Load Balance)      实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力.通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式.本文主要讨论的是基于客

Oracle RAC OCR 与健忘症

    OCR就好比Windows的一个注册表,存储了所有与集群,RAC数据库相关的配置信息.而且是公用的配置,也就是说多个节点共享相同的配置信息.因此该配置应当存储于共享磁盘.本文主要基于Oracle 10g RAC描述了集群的OCR以及OCR产生的健忘问题.   一.OCR的特点   类似于Windows注册表,用于存储所有与集群,RAC数据库相关的配置信息   被多个节点所共享,因此,只能存储于共享磁盘.支持单disk以及镜像方式来存放.大小通常100MB-1GB.   在Oracle 1

Oracle RAC OCR 的管理与维护

   OCR相当于Windows的注册表.对于Windows而言,所有的软件信息,用户,配置,安全等等统统都放到注册表里边.而集群呢,同样如此,所有和集群相关的资源,配置,节点,RAC数据库统统都放在这个仓库里.如果OCR被破坏则导致集群服务启动异常,需要修复OCR.因此OCR的管理与维护对于整个集群而言,是相当重要的.本文主要描述了Oracle 10g RAC下的OCR的管理与维护. 1.环境 oracle@bo2dbp:~> cat /etc/issue Welcome to SUSE Li

Oracle RAC OCR 的备份与恢复

        Oracle Clusterware把整个集群的配置信息放在共享存储上,这些信息包括了集群节点的列表.集群数据库实例到节点的映射以及CRS应用程序资源信息.也即是存放在ocr 磁盘(或者ocfs文件)上.因此对于这个配置文件的重要性是不言而喻的.任意使得ocr配置发生变化的操作在操作之间或之后都建议立即备份ocr.本文主要基于Oracle 10g RAC环境描述OCR的备份与恢复.        OCR 相关参考:        Oracle RAC OCR 与健忘症      

Oracle RAC 环境下的 v$log v$logfile

      通常情况下,在Oracle RAC 环境中,v$视图可查询到你所连接实例的相关信息,而gv$视图则包含所有实例的信息.然而在RAC环境中,当我们查询v$log视图时说按照常理的话,v$log视图应当看到的是你所连接到实例的日志组的信息.但v$log是个例外,也就是说v$log视图里看到的不仅仅是自身实例所包含的redo日志组,其他所有剩余实例的redo日志组也同样会出现在该视图中.无论你从任意一个节点连接查询v$log视图都将获得相同的结果.该情形同样适用于v$logfile.这到底

Vmware server 下为Oracle RAC 添加共享磁盘

    在VMware下的Oracle RAC 环境中,对于共享存储不够或者需要增加新的共享磁盘来配置ocr或votingdisk的多路镜像,我们可以通过vmware下的命令行来增加共享存储,然后将这些新磁盘逐一追加到虚拟机即可.下面给出具体描述.   1.添加虚拟磁盘 #下面我们为虚拟机增加2块共享磁盘 #一块为添加ocr镜像,一块用于补充asm磁盘不够用的情形 C:\Users\robinson.cheng>cd C:\Program Files (x86)\VMware\VMware Se