Oracle的监听(listener)到底是什么
来源:互联网 发布:wto关税数据库 编辑:程序博客网 时间:2024/05/22 03:45
Oracle监听器listener是一个重要的数据库服务器组件,在整个Oracle体系结构中,扮演着重要的作用。
监听器Lisener功能
从当前的Oracle版本看,Listener主要负责下面的几方面功能:
1、 监听客户端请求。监听器运行在数据库服务器之上,与Oracle实例(可为多个)相关关联,是一个专门的进程process,在windows的服务项目或者Linux的运行进程列表中,都会看到对应的运行进程。Windows上名为TNSLSNR,Linux/Unix平台上是lsnrctl。监听器守候在服务器制定端口(默认为:1521),监听客户端的请求。
2、 为客户端请求分配Server Process。监听器只负责接听请求,之后将请求转接给Oracle Server Process。在Oracle的服务模式下,客户端进程是不允许直接操作数据库实例和数据,而是通过一个服务进程Server Process(也称为影子进程)作为代理。监听器接受到请求之后,就向操作系统(或者Dispatcher组件)要求fork(或分配)一个Server Process与客户端相连。
3、 注册实例服务。本质上将,listener是建立实例和客户端进程之间联系的桥梁。Listener与实例之间的联系,就是通过注册的过程来实现的。注册的过程就是实例告诉监听器,它的数据库数据库实例名称instance_name和服务名service_names。监听器注册上这样的信息,对客户端请求根据监听注册信息,找到正确的服务实例名称。目前Oracle版本中,提供动态注册和静态注册两种方式。
4、 错误转移failover。Failover是RAC容错的一个重要方面功能,其功能是在数据库实例崩溃的时候,可以自动将请求转移到其他可用实例上的一种功能。可以提供很大程度上的可用性(Availability)功能。这个过程中,发现实例已经崩溃,并且将请求转移到其他实例上,就属于是listener的功能。
5、 负载均衡衡量。在RAC架构中,Oracle实现了负载均衡。当一个客户请求到来时,Oracle会根据当前RAC集群环境中所有实例的负载情况,避开负载较高的实例,将请求转移到负载较低的实例进行处理。在早期RAC版本中,负载轻重的衡量是根据监听器当前维护连接数目来确定的,而不是实时查看多实例的负载。RAC环境中的监听器之间进行沟通通信。
下面的部分,会从几个方面对监听器进行简单介绍。
- Oracle的监听(listener)到底是什么
- ORACLE 监听LISTENER设置的粗略介绍
- oracle监听程序,是什么时候,选择的listener.ora?答:是在创建监听服务的时候,而不是启动监听服务的时候
- /var/tmp/.oracle 和 oracle listener (监听)的一点理解
- ORACLE listener监听设置密码
- oracle 监听详解(listener.ora)
- oracle监听listener连接风暴
- 用oracle客户端的Net Manager创建服务(server)和监听(listener)
- 如何实现Oracle的监听(listener)多个IP地址
- windows 清空oracle的监听日志listener.log
- 如何绕过oracle listener 监听的密码设置
- 添加监听(Listener)
- Oracle DBA之配置静态监听(listener registered statically)
- 配置Oracle监听程序(LISTENER)详细图解
- Linux ORACLE清理、截断监听日志文件(listener.log)
- oracle 监听无法启动(the listener supports no services)
- oracle中is null到底判断的是什么
- 各种 Listener 监听的动作
- mybatis 和 springmvc 环境搭建 及mybatis 注解使用
- arguments.callee 调用自身
- js中offsetParent,offsetLeft的兼容问题
- Qt dxlib 调用与简单应用
- strcpy和memcpy的区别
- Oracle的监听(listener)到底是什么
- 23-IO流-41-IO流(File对象-练习-删除目录)
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- cas的rest协议请求方式
- position:absolute 入门理解
- 事件传递
- UNIX网络编程卷一:第十三章 守护进程和inetd超级服务器
- 详解Objective-C runtime
- kafka分区及副本在broker的分配