首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

oracle rac负载均衡

2023-11-11 来源:花图问答

rac负载均衡分基于客户端和基于服务端两种:

客户端

配置比较简单,在tnsnames.ora中增加load_balance=on即可,如下:

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的时候会随机挑个节点进行连接,因为客户端不知道这个节点的状况,这个节点挂了的话,有可能出现长时间的tcp等待。10g版本以后,这种状况有很大的改善,但是客户端不知道rac各节点的负荷和连接数,有可能出现某节点重负,使均衡不能很好的发挥。

服务端

10g以后,服务端负载均衡能根据各节点的负荷和连接数,均衡各节点,各节点的pmon进程会定期向rac汇报自己的负荷情况。

配置如下:

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;

有时候汇报负荷的进程延迟导到均衡效果不明显,这时加入PREFER_LEAST_LOADED_NODE=OFF,服务器会根据连接数进行分配。

从Oracle 10.2开始,Oracle引入了Load Balance Advisor,对负载均衡有了进一步的改进。结合Service,可以对不同的SERVICE设置不同的负载均衡策略。

oracle rac负载均衡

标签:prot   客户   随机   alter   结合   ice   均衡   data   负载   

小编还为您整理了以下内容,可能对您也有帮助:

Oracle] RAC 之 - 负载均衡深入解析

负载均衡是指把负载平均分配到集群中的各个节点 从而提高整体性能 Oracle RAC提供两种方式实现负载均衡 以下就为大家详细介绍一下 需要的朋友可以参考下  

  Oracle RAC提供两种方式实现负载均衡 第一种是纯技术手段 即在用户连接时 根据系统当前的负载情况决定由哪个节点处理用户请求 第二种是面向业务 人为的把应用切分成很多service 通过某个service过来的连接请求都由某个节点处理 下面来具体看看这两种手段

   纯技术手段 (面向连接的负载均衡)

   客户端负载均衡 配置方法是在客户端tnsnames ora文件中设置LOAD_BALANCE=YES 当客户端发起连接时 会从地址列表中随机选取一个 把连接请求随机分散给各个实例 这个技术的最大缺点在于不能根据各个实例的真实负载情况来分散请求 太过粗糙 因此很少使用

   服务器端负载均衡 服务器端负载均衡依赖于Listener收集的负载信息 在数据库运行过程 中 pmon进程会收集系统的负载信息 定期更新至Listener中 如果你配置了Remote_listener参数 pmon进程不但能把负载信息 注册到本地Listener 也可以注册到其它实例的Listener 这样有了pmon自动注册机制后 集群的每个节点的Listener都掌握了所有 节点的负载信息 当收到客户端请求时 会把连接分配给负载最小的实例

lishixin/Article/program/Oracle/201311/19020

Oracle的RAC做数据库的负载均衡,有什么优点和缺点

RAC编辑〔RAC提供的优缺点〕RAC,全称realapplicationclusters,译为“实时应用集群”,是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。OracleRACRAC提供的优缺点优点OracleRAC主要支持Oracle9i、10g、11g版本,可以支持24x7有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在OracleRAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。(1)多节点负载均衡;(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;(3)通过并行执行技术提高事务响应时间----通常用于数据分析系统;(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。缺点(1)相对单机,管理更复杂,要求更高;(2)在系统规划设计较差时性能甚至不如单节点;(3)可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)。在Oracle9i之前,RAC的名称是OPS(OracleparallelServer)。RAC与OPS之间的一个较大区别是,RAC采用了CacheFusion(高速缓存合并)技术。在OPS中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cachefusion时,RAC的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。

Oracle的RAC做数据库的负载均衡,有什么优点和缺点

RAC编辑〔RAC提供的优缺点〕RAC,全称realapplicationclusters,译为“实时应用集群”,是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。OracleRACRAC提供的优缺点优点OracleRAC主要支持Oracle9i、10g、11g版本,可以支持24x7有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在OracleRAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。(1)多节点负载均衡;(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;(3)通过并行执行技术提高事务响应时间----通常用于数据分析系统;(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。缺点(1)相对单机,管理更复杂,要求更高;(2)在系统规划设计较差时性能甚至不如单节点;(3)可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)。在Oracle9i之前,RAC的名称是OPS(OracleparallelServer)。RAC与OPS之间的一个较大区别是,RAC采用了CacheFusion(高速缓存合并)技术。在OPS中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cachefusion时,RAC的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。

oracle 11G R2 RAC 使用scanip 后,oracle 如何实现负载均衡的

scanip+dns追问有详细的操作文档吗,希望能提供一份,谢谢

oracle RAC 的插入数据性能怎么比单机oracle的性能要低啊

RAC的是两个实例共享一个存储,实现负载均衡和高可用,一个实例挂掉,另外一个还可以用,实现生产业务不中断的要求,并不是插入数据时两个机器并行操作的概念,只有多个操作同时分配在不同的节点的情况下才能显示出集群的能力。至于比单机慢,具体的原因需要看集群和单机的硬件是否相同,同一时间是否还有其他的操作消耗磁盘I/O的资源等等,内部的参数影响等等 需要一步步的排除,最后定位原因。

oracle RAC 的插入数据性能怎么比单机oracle的性能要低啊

RAC的是两个实例共享一个存储,实现负载均衡和高可用,一个实例挂掉,另外一个还可以用,实现生产业务不中断的要求,并不是插入数据时两个机器并行操作的概念,只有多个操作同时分配在不同的节点的情况下才能显示出集群的能力。至于比单机慢,具体的原因需要看集群和单机的硬件是否相同,同一时间是否还有其他的操作消耗磁盘I/O的资源等等,内部的参数影响等等 需要一步步的排除,最后定位原因。

哪位能介绍下oracle的RAC、集群、双机热备、Dataguard这些东西?

1、RAC就是集群,改变了过去一个实例连接数据库磁阵的处理模式,而是采用多个ORacle实例连接数据库磁阵,各个ORacle实例进行负载均衡,当某个实例down掉,其他实例像备份一样,依然在工作,这样不影响数据库的使用。不像传统采用双机模式,主机宕机,备机接管的模式,这个存在切换时间的问题,而针对集群来说,所有实例都是运行着的,因此不存在切换时间的问题。RAC是oracle的一项收费功能,价格不低哟。如果想用它的话,看看财务有没有这块的预算。

2、双机热备上面已经讲过了“双机模式”,这儿不再讲了。

3、dataguard这个是数据库容灾的一种模式,与前面讲的是不同的概念,是指在正常运行的生产环境之外异地运行的数据库设备(有自己的数据库磁阵),如果生产环境发生数据变动,通过dataguard将变动的数据操作从生产环境实时同步过来,保证了生产环境和容灾环境的数据的一致性,如果生产环境数据库瘫痪了,容灾环境就接管过来。 oracle里类似的容灾模块还有高级复制(物化视图)、streams和goldgate,后者是收费的。其他的都是免费提供的。

关于OracleRAC中的JOB运行在哪个实例的理解

对于Oracle的RAC集群数据库,一直以来对于高度JOB方面如何做到负载均衡,一直都不太清楚,这几天测试了一下,得出以下结论。一个

对于Oracle的RAC集群数据库,一直以来对于高度JOB方面如何做到负载均衡,一直都不太清楚,这几天测试了一下,得出以下结论。

一个JOB在何级别运行是可以定制的。如果把job定义在db级,job可以运行在任何活动的instance上,并遵循job的调度机制;

如果把job定义在instance级别上,job将运行在指定的实例上,如因某种异常导致创建job的实例当机,那job将运行在存活的实例上。

1、目前我们的rac数据库是通过查询语句 select job,instance,what fromdba_jobs 可以看到instance=0,这表示该job是db级,可以运行在任何活动的instance上,,由job的调度机制决定在哪个实例上运行。也就是说RAC会根据两台服务器的运行状态来调度JOB在不同的节点实例中运行,一个JOB可以在A机,下一次有可能在B机运行;

2、通过在调度中指定instance 参数,可以指定job只在某个特定实例上运行,但是如果该实例的服务器出现故障时,发现job 在实例A上不再运行,也不会切换到其它实例。如果job建立时没有指定运行在某个实例上,在job当前运行的实例关掉后,却可以切到其他活动的实例上。

3、一般情况下,建立不要指定JOB在特定实例运行,如果对于对于已经在运行的job,如果想指定其只在某个实例运行。建议先删除此job,然后重建job,重建时指定job运行的实例。对于有人说可以使用如下方式修改job运行的实例:SQL> exec dbms_job.instance(26,1)。经测试,不好使,此sql执行后,job不再运行,并出现等待事件:enq: TX - row lock contention,查到执行的sql是update sys.job$ setthis_date=:1 where job=:2,也就是在更新sys的sys.job$表,最后只能杀掉此会话,才消除此等待事件。

4、目前还没找到SQL语句来查看某一个JOB运行在哪个实例,一查询,都是0(默认),则可能在任何节点执行。笨方法是通过在Linux中用TOP语句查看CPU的性能来判断是否负荷均衡。

显示全文