RAC 没有负载均衡 设置listener
来源:互联网 发布:linux压缩命令tar.gz 编辑:程序博客网 时间:2024/05/01 15:44
刚接收RAC一段时间,用户反映数据库慢,看了一下服务器,节点1 cpu 98%多,节点2竟然不到10%,节点2其实根本就没有用户会话,排查了一下,看到local_listener 设置了,指向的一个莫名IP,因为是默认端口,直接把local_listener设置删掉,配置了remoter_listener候发现节点二有了会话,ok。
listener原理:
当客户端发出连接请求给Server端listener的时候,通过local_listener注册的服务接收这个连接请求,然后由master instance来决定这个连接请求应该由哪个目标instance发出server process响应这个连接请求。启用负载均衡时,主节点会选择cpu负载最小的那个instance,其中负载情况有PMON进程进行通知,如果master分配的目标instance是local listener machine,那么直接通过local server listener,开启后台的server process,处理发出conn的客户端,建立连接,处理会话;如果master分配的目标instance不是local listener machine,那么会通过remote_listener这个参数,把连接请求转移到remote machine上的listener, 然后由remote service listener发出一个server process返回客户端,建立连接,处理会话.当conn建立连接以后,listener就没有用了,如果这个时候,已经连接的那个instance down了,会重新由新分配的master instance通过remote_listener切换到可用instance,此时客户不会发现连接中断。conn 和 select操作是不会中断的。故障透明切换,TAF策略。分客户端tnsnames.ora配置;服务器端,配置service。
local_listener:
instance主机的用户非默认端口的监听配置。在tnsnames.ora 配置:
LSNR_LOCAL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT =1522))
)
remote_listener:
LSNR_REMOTE=
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT =1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT =1522))
)
alter system set local_listener='LSNR_LOCAL';
aletr system set remote_listener='LSNR_REMOTEL' scope=both;
aletr system register;
dedicate与shared模式下处理请求工作机制:
dedicated下:
当用户发出请求后,oracle会产生新的进程为其服务,所以不用在乎事务的运行时间,适合大而长的事务。OLAP
shared下:
用户发出请求后,由dispatcher分发器接收,到请求队列,派发一个共享服务的进程处理请求,处理完后,到各自的相应队列中去,由于存在进程的竞争,所以适合短而小的事务,OLTP
0 0
- RAC 没有负载均衡 设置listener
- RAC的负载均衡
- RAC负载均衡配置
- Oracle RAC负载均衡
- RAC之负载均衡
- RAC架构之负载均衡
- [Oracle] RAC 之 - 负载均衡
- rac客户端负载均衡测试
- apache负载均衡设置
- nginx负载均衡设置
- apache负载均衡设置
- Nginx 负载均衡 设置
- apache负载均衡设置
- nginx负载均衡设置
- 配置 RAC 负载均衡与故障转移
- RAC环境下负载均衡配置
- oracle 10g rac 负载均衡 一
- oracle 10g rac 负载均衡 二
- ubuntu11.04 中文设置、samba服务器安装使用等
- java 实现ftp上传下载
- 告别码农,成为真正的程序员
- ubuntu 手工安装mysql5.6.15
- Android与Js交互的一些总结
- RAC 没有负载均衡 设置listener
- C++基础面试题
- .net 导出excel并设置格式
- Postgresql修改序列方法 select setval('dataset_id_seq',1,false);
- shell编程快速入门
- 抽象类、抽象方法
- SHELL: return 与 exit 的区别
- 查看mysql某个数据库多少张表以及占用的空间
- 状态机编程