暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle(十)监听配置篇

1573
//
Oracle 11g
//


愿所有人都能被这个世界善待,


愿用心的人永远不会受到伤害。


----小陈寄语




Oracle监听配置篇


监听器是什么?

Oracle监听器运行于数据库服务器端一个进程,用于监听所有来自客户端的连接请求,并提供处理数据库服务方面的请求。

这个进程负责监听用户的连接请求,每当收到一个用户请求,监听器进程就会创建一个影子进程,然后把用户请求转发给这个影子进程,由影子进程继续完成用户提交的各种命令。

一旦监听进程把用户进程转交给影子进程,监听进程的任务就算完成了,会继续去监听下一个用户请求,监听器配置文件listener.ora。


监听器的功能:

A:监听客户端请求,监听器运行在数据库服务器之上,与Oracle实例相关联,是一个专门的进程process。


B:为客户端请求分配Server Process。监听器只负责接收请求,之后将请求转发给Oracle Server Process,(在Oracle服务模式下,客户端进程是不允许直接操作数据库的,需要通过一个服务进程Server Process作为代理。)


C:注册实例服务。本质上讲,listener是建立实例与客户端进程之间联系的桥梁。Listener与实例之间的联系,就是通过注册的过程来实现的。(注册的过程就是实例告诉监听器,它的数据库实例名称instance_name和服务名server_names。


D:错误转移failover:Failover是RAC容错的一个重要方面功能,其功能是在数据库实例奔溃的时候,可以自动将请求转移到其他可用实例上的一种功能,提供很大程度上的可用性(Availability)功能。

E:负载均衡量:在RAC架构种,Oracle实现了负载均衡。当一个用户请求到来时,Oracle会根据当前RAC集群环境中所有实例的负载情况,避开负载较高的实例,将请求转移到负载较低的实例进行处理。


Method1:静态注册

一般来说,我们常说的oracle数据库监听配置,一般都是值静态注册,将实例的相关信息手动告知listener,将数据库的相关信息配置到listener.ora中。在实例启动时就会读取listener.ora文件的配置,listener.ora中的global_dbname向外提供服务名,listener.ora中的sid_name提供注册的实例名,将实例和服务注册到监听程序。静态配置最大的问题就是监听器无法直到数据库真正的状态。


Method2:动态注册

一台服务器一般只需要一个监听器,一个监听器可以监听多个数据库,也可以一个数据库多个监听,当然,也可以为每个数据库配置专门的监听器,这要根据具体情况配置。事实上,配置监听就是将数据库服务的注册信息写入指定文件,那样每次启动监听的时候就会自动读取数据库的相关信息。我们把实例将数据库所提供的服务名及相关信息告诉listener的过程称之为服务注册。注册通常包括数据库的服务名、实例名、server模式、端口号等。


lsnrctl命令可查看监听的运行情况和数据库状态:

ready:代表实例可以接受连接请求,是动态注册的监听。

blocked:实例目前不能接受连接的请求。

unknown:静态注册的监听。



Practice1:静态注册(使用默认端口)


Step1:设置数据库表示,进入指定目录下


Step2:服务器配置监听文件


Step3:客户端配置TNS文件


Step4:服务器启动监听


Step5:启动数据库


Practice2:动态注册(使用默认端口)


Step1:服务器配置监听文件


Step2:客户端配置TNS服务

由于监听的是1521端口,所以可以不配置,共享Practice1。注意关闭LISTENER1;


Step3:启动监听服务

注意:由于是动态注册,所以先本地登录到sys用户进行注册。


Step4:启动数据库






Practice3:静态注册(使用非默认端口1522)


Step1:服务器配置监听文件

编辑如下:


Step2:客户端配置TNS服务


Step3:启动监听服务


Step4:启动数据库


Practice4:静态注册,配置一个侦听器(非默认端口1522、1523)


Step1:服务器配置监听文件

编辑如下:


Step2:客户端配置TNS服务

编辑如下:


Step3:启动监听服务


Step4:启动数据库

测试1

测试2



Practice5:配置监听注册,配置多个监听器(非默认端口1524、1525)


Step1:服务器配置监听文件

编辑如下:


Step2:客户端配置TNS服务

编辑如下:


Step3:启动监听服务

监听1:

监听2:


Step4:启动数据库



Pracitce6:配置动态注册,非默认端口(1526)


Step1:服务器配置监听文件

编辑如下:


Step2:客户端配置TNS服务

编辑如下:


Step3:启动监听服务


Step4:启动数据库

启动前:先本地登录到sys用户下注册

正式启动数据库:



Pracitce:添加不同的service_name


注意:此处实验使用LISTENER1测试:


Step1:修改service_name


Step2:修改LISTENER1监听全局名,默认端口1521

编辑如下:


Step3:修改LISTENER1服务名

编辑如下:


Step4:开启监听


Step5:启动数据库



END


小陈今天的分享就到这里啦!

期待下一期的邂逅!




文章转载自小陈的技术博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论