- 浏览: 474442 次
- 性别:
- 来自: 南阳
文章分类
最新评论
-
yuanhongb:
这么说来,感觉CGI和现在的JSP或ASP技术有点像啊
cgi -
draem0507:
放假了还这么勤啊
JXL操作Excel -
chenjun1634:
学习中!!
PHP/Java Bridge -
Jelen_123:
好文章,给了我好大帮助!多谢!
hadoop安装配置 ubuntu9.10 hadoop0.20.2 -
lancezhcj:
一直用job
Oracle存储过程定时执行2种方法(转)
Rac环境安装完成之后,打算简单测试一下Oracle RAC的负载均衡功能。 配置负载均衡,需要在客户端的tnsnames.ora中进行配置。 TESTRAC = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.225)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testrac) ) ) 设置了LOAD_BALANCE = yes之后,使用TESTRAC服务名连接数据库时就启动了负载均衡功能。 登陆RAC实例,检查两个实例上的会话连接情况: SQL> SELECT INST_ID, COUNT(*) FROM GV$SESSION GROUP BY INST_ID; INST_ID COUNT(*) ---------- ---------- 1 31 2 31 下面在客户端连接RAC实例,并检查当前连接的是哪个实例: SQL> CONN NDMAIN@TESTRAC输入口令: ******已连接。 SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac1 SQL> CONN NDMAIN@TESTRAC输入口令: ******已连接。 SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac2 由于两个实例上会话数量相当,所以Oracle在分配连接时,分配给每个实例的概率基本相同。 这是会话连接两次的情况,下面看看当多个会话连接时,Oracle是如何分配的。 SQL> DISC从 Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options 断开 首先断开刚才连接的会话,然后启动4个新的连接,并检查这些连接分布到哪些实例上: E:>SQLPLUS NDMAIN/NDMAIN@TESTRAC SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 22 19:15:26 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac1 SQL> HOST Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. E:>SQLPLUS NDMAIN/NDMAIN@TESTRAC SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 22 19:15:46 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac1 SQL> HOST Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. E:>SQLPLUS NDMAIN/NDMAIN@TESTRAC SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 22 19:16:02 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac2 SQL> HOST Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. E:>SQLPLUS NDMAIN/NDMAIN@TESTRAC SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 3月 22 19:16:16 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> SELECT INSTANCE_NAME FROM V$INSTANCE; INSTANCE_NAME ---------------- testrac2 可以看到,由于两个实例负载相当,Oracle基本上是按照50%的概率给每个实例分配新的连接。 |
您所在的位置:组网建网 > 网络优化 > 负载均衡 > Oracle负载均衡配置代码(1)
Oracle负载均衡配置代码(1)
文章摘要:本文详细介绍了Oracle负载均衡的具体配置。通过客户端和服务器端两方面进行配置,文中代码比较全面,值得大家参考。
AD: <script src="http://www.51cto.com/js/article/keywords_ad_new.js"></script>
对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了。那么如何对Oracle负载均衡进行配置呢?就让我们一起看看本文来学习一下吧。我们将从客户端和服务器端来进行解说。
Oracle负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作。在Oracle负载均衡中分为两种,一种是基于客户端连接的,另外一种是基于服务器端的。
客户端的Oracle负载均衡配置相对简单,只需要在tnsnames.ora中添加LOAD_BALANCE=ON这么一个选项即可。比如下面的TNS:
- RAC =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
- (LOAD_BALANCE = ON)
- (FAILOVER = ON)
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = rac)
- )
- )
这样当客户端连接RAC数据库时,会随机在TNS里面挑个监听地址进行连接。在Oracle10g以前,假如有节点宕机或者类似事故时,客户端可能还是选择连接到这个节点,这样会发生较长时间的TCP等待超时。而在10g以后,由于VIP和FAN的引入,这样的情况可以得到很大程度的改善。客户端的Oracle负载均衡在通常情况下能够较好地工作,但是由于连接是在客户端随机发起的,这样客户端并不知道RAC各节点的负荷及连接数情况,有可能负荷大的节点还会源源不断地增加新的连接,导致RAC节点无法均衡工作。
从Oracle 10g开始,服务器端的Oracle负载均衡可以根据RAC中各节点的负荷及连接数情况,而判定将新的客户端连接分配到负荷最小的节点上去。RAC中各节点的PMON进程每3秒会将各自节点的负荷(包括LOAD、最大LOAD、CPU使用率)及连接数更新到service_register里面,然后假如节点的负荷有发生变化,将会通知到监听程序,由监听程序再决定新的客户端连接分配至哪个节点。假如RAC中一个节点的监听失败了,PMON每一分钟会去检查一次是否已经恢复正常。
服务器端的监听配置是在各节点的tnsnames.ora里面添加一个连接到各个节点监听的条目,然后再在初始化参数里面设置remote_listeners这个参数。比如:
- LISTENERS_RAC =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
- )
- ALTER SYSTEM SET REMOTE_LISTENER = LISTENERS_RAC;
这样服务器端的Oracle负载均衡便配置完成。
但是有时候由于PMON取节点负荷的延迟,导致客户端连接可能还是会连接到负荷较大的节点上,这时候便可以在服务器各节点的listener.ora里面加入PREFER_LEAST_LOADED_NODE=OFF这么一行,这样服务器端的Oracle负载均衡将不再根据节点的负荷来进行分配,而是根据节点的连接数进行分配,达到各个节点连接数比较平衡的效果。
另外一个不得不说的便是并行操作,假如有个会话连接以后要进行并行操作。由于连接时是按负荷或连接数连接,这样可能连接时各个节点连接数和负荷等比较平衡,但是这个并行会话启动多个并行进程以后,那么这个节点的负荷及连接数就会有可能上升得比较快。如果在RAC中开启了节点并行,那么有可能会把并行进程分配到多个节点运行以达到负载均衡的效果。
从Oracle 10.2开始,Oracle引入了Load Balance Advisor,对Oracle负载均衡有了进一步的改进。结合Service,可以对不同的SERVICE设置不同的Oracle负载均衡策略。Load Balance Advisor的配置可以通过DBMS_SERVICE包对SERVICE进行更改而完成。在Load Balance Advisor首先必须设置SERVICE负载均衡的目标,目标分为3种:
- GOAL_NONE Disables the load balancing advisory
- GOAL_SERVICE_TIME The LBA calculates a weighted moving average of the total elapsed time for completed work plus the bandwidth that's available to the service to calculate the service goodness. This goal is ideal for services whose workload may change dramatically over a short period of time, e.g. an application that services a “clicks and mortar" store that provides customer self-service through an internet-based shopping web site.
- GOAL_THROUGHPUT The LBA calculates a weighted moving average of throughput (i.e. the rate at which work is completed) in addition to the bandwidth available to the service to calculate the service goodness. This goal is best suited for long-duration tasks that are typically queued to run serially, e.g. scheduled jobs that handle large batches of transactions.
另外可以额外设置连接的负载均衡:
- CLB_GOAL_SHORT The Load Balancing Advisory will be used for connection load balancing only if it is enabled (i.e. set to other than GOAL_NONE). If the LBA has been disabled, connection load balancing will utilize abridged advice determined by CPU utilization.
- CLB_GOAL_LONG Connection load balancing will be determined by first tallying the total number of connections per instance, and then by counting the number of sessions per each service. Oracle recommends using this setting for services whose applications tend to connect for long periods of time (e.g. Oracle Forms). The Load Balancing Advisory can be used in conjunction with this setting as long as the connection pool has been sized to accommodate “gravitation “ within the pool without adding or subtracting connections. Oracle recommends this option as the most efficient design.
发表评论
-
mysql 定时任务
2015-11-03 09:57 739定时任务 查看event是否开启: show variabl ... -
tomcat服务器大数量数据提交Post too large解决办法
2015-10-29 11:05 711tomcat默认设置能接收HTTP POST请求的大小最大 ... -
Tomcat启动内存设置
2015-10-20 15:40 641Tomcat的启动分为startupo.bat启动和注册为w ... -
Java串口包Javax.comm的安装
2015-10-12 16:32 657安装个java的串口包安装了半天,一直找不到串口,现在终于搞 ... -
在 Java 应用程序中访问 USB 设备
2015-10-10 17:49 923介绍 USB、jUSB 和 JSR- ... -
mysql定时器
2015-08-04 14:01 5695.1以后可以使用 ALTER EVENT `tes ... -
oracle安装成功后,更改字符集
2015-07-23 11:53 602看了网上的文章,乱码有以下几种可能 1. 操作系统的字符集 ... -
运用navicat for mysql实现定时备份
2015-06-05 15:02 1055使用navicat for mysql实现定时备份 首 ... -
利用html5调用本地摄像头拍照上传图片
2015-05-18 09:36 2578测试只有PC上可以,手机上不行 <!DOCTYPE ... -
必须Mark!最佳HTML5应用开发工具推荐
2015-05-15 22:50 930摘要:HTML5自诞生以来,作为新一代的Web标准,越来 ... -
Mobl试用二
2015-05-13 14:28 607最近有空又看了一下Mobl的一些说语法,备忘一下: 1 ... -
Nginx配置文件详细说明
2015-05-08 19:58 579在此记录下Nginx服务器nginx.conf的配置文件说明 ... -
axis调用cxf
2015-04-23 13:51 5211、写address时不用加?wsdl Service s ... -
Oracle10g数据文件太大,导致C盘空间不够用的解决方法
2015-03-19 15:22 890由于在安装的时候将Oracle安装到了C盘,表空间也创建到了C ... -
mysql 获取第一个汉字首字母
2015-03-18 17:48 600select dmlb, dmz, dmsm1, CHAR ... -
failed to install Tomcat6 service解决办法
2015-02-12 09:20 503最近我重装了一下tomcat 6.0,可不知为什么,总是安装 ... -
tomcat 分配java内存
2015-02-11 10:37 566//首先检查程序有没有限入死循环 这个问题主要还是由这个问 ... -
[Android算法] Android蓝牙开发浅谈
2014-12-15 15:27 633对于一般的软件开发人 ... -
Android 内存溢出解决方案(OOM) 整理总结
2014-11-21 10:12 715原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出 ... -
《HTML5从入门到精通》中文学习教程 PDF
2014-11-19 21:26 1096HTML5 草案的前身名为Web Applications ...
相关推荐
ORACLE RAC 数据库负载均衡方案.doc
Oracle RAC数据库连接负载均衡配置研究.pdf
此文档是Oracle 11g rac安装完成后的IOPS、负载均衡、TAF等的测试,内容详尽。
本文详细的介绍了oracle 11g rac的搭建过程,并讲解了负载均衡的方法,是word文档,可以照着做一遍,图文并茂,容易理解!
Oracle 10g RAC的负载均衡配置,负载均衡是指连接的负载均衡。RAC的负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作。在RAC中,负载均衡分为两种,一种是基于客户端连接的,...
ORACLE RAC 数据库负载均衡方案.doc
Oracle RAC提供两种方式实现负载均衡,第一种是纯技术手段,即在用户连接时,根据系统当前的负载情况决定由哪个节点处理用户请求;第二种是面向业务,人为的把应用切分成很多service,通过某个service过来的连接请求...
oracle负载均衡配置ORACLE10gRAC负载均衡配置.pdf
Linux 常用命令 oracle rac 中文手册 官网翻译 oracle rac
ORACLE RAC恢复备份恢复测试-全套过程含脚本 veritas RMAN
这个文档详细的记录了重启Oracle rac的每一个步骤,重启的方法很多,这个可能不是最适合你的,但这个是有效的,这个文档是我给外行看的
Oracle 11g R2 RAC及负载均衡搭建手册.pdf
ORACLE RAC测试报告 模版
ORACLE RAC服务器端负载均衡的配置.pdf
Oracle RAC 10g高可用系统负载均衡测试与分析.pdf
基于Oracle RAC数据库的通信管理系统负载均衡方案.pdf
oracle rac 不停机调整时间.txt
资源名称:深入理解Oracle RAC 12c内容简介:《深入理解Oracle RAC 12c》介绍了Oracle RAC 12c技术的方方面面,涵盖了与RAC技术相关的集群件知识、数据库知识、存储知识、网络知识,并在基于RAC的应用软件设计、优化...
oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记oracle rac安装个人笔记...
Oracle RAC Cache Fusion介绍.pdf