Oracle 11g服务器监听配置(oracle监听配置详解)。

Oracle监听器运行于数据库服务器端一个进程,用于监听所有来自客户端的连接请求,并提供处理数据库服务方面的请求。这个进程负责监听用户的连接请求,每当收到一个用户请求,监听器进程就会创建一个候业间所影子进程,然后把用户请求转交给这个影子进程,由影子进程继续完成用户提交的各种命令。一旦监听进程把用户转交给影子进程,监听进程的任务就算完成了,会继续去监听下一个用户请求,监听器配置文件listener.ora。Oracle能够支持2中连接方式,分别是专有模式和共享模式,二者的区别在于,专有模式为每个用户连接启动一个单独的影子进程,相当于为每个用户提供一个单独的到服务器的简术迫响或写社复穿会话通道,其特点是响应客户端请求速度快,但PGA占用较多;共享模式是由多个用户连接共享一个进程,多个用户共享一个会话通道。

Oracle 11g服务器监听配置(oracle监听配置详解)。

方法

一台数据库服务器一般只需要一个监听器,一个监听器可以监听多个数据库,也可以一个数据库多个监听,当然也可以为每个数据库配置专门的监听器,这要根据具体的情况来配置。事实上,配置监听就是将数据库服务的注册信息写入指定文件,那样每次启动监听的时候就会自动读取数据库的相关信息。我们把实例将数据库将所提供的服务名及请体复假任明宪艺模径讨相关信息告知listener的过程称之为服务注册,注册通常包括数据库的服务名、实例名、SERVER模式、端口号等。我们可以通过Lsnrctl命令查看监听的运行情况和数据库的状态:
Ready:代表实例可以接受连接请求,是动态注册的监听;
Blocked:实例目前不能接受连接请求;
Unknown:静态注册的监听。
在运行lsnrctl命令的status时,常会看到如下返回值(下图红色部分):

结果显示,状态UNKOWN和READY的监听记录,它们分别是静态和动态注册的监听。先来说一下动态注册,动态注册是在instance启动的时候,由PMON进程根据init.ora中的instance_name、service_names两个参数将实例和服务动态注册到listener中。如果没有定义service_name,数据库会根据db_name和db_doma药飞超in组成的一个全局数据库名成注册到监听器中,instance_name是实例名称,一般和SID值一样。

动态注册不必须显式的配置在listener.ora文件中,当然在listener.ora配置如图7-4绿色部分的内容来实现动态注册也无妨,DBA还可以通过SQL语句—“alter system register;”究等构乐她育本强制PMON向监听器动态注册。在Oracle 9i之后,不需要任何配置即可实现动态注册,实例启动后会自动在本地主机默认的号端口上查找监听器,并进行注册。

说明:在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服洲节很款务器对应的实例和服务。)相当于是这样:在数据库服务器和客户端之间有一监听程序(Listener),在监听程序中,会记录相应数据库对应的服务名(一个数据库可能对应有多个服务名),当客户端需要连接数据库时,只需要提供服务名,就可以建立客户端和服务器之间的连接。

注意:Oracle_SID从ORACLE 10G开始,参数文件不再记录INSTANCE_NAME,此时INSTANCE_NAME动态从系统ORACLE_SID获得来保持一致。

Oracle 11g服务器监听配置(oracle监听配置详解)。

事实上,我们常说的Oracle数据库监听配置,一般都是指静态注册—将实例的相关信息手动告知listener,即将数据库的相关信息配置到listener.ora中。在实例启动时就会读取listener.ora文件的配置,listener.ora中的GLOBAL_吃又妒班力饭施双希DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名,将实例和服务注册到监听程序,静态配置最大的问题就是监听器无法知道数据库真正的状态。

说明:如果关闭数据库后在查看监听会发现动态注册的自动消失了只有静态注册的在,动态注册机制不需要对监听器做任何额外配置,而结果却比静态注册更准确,静态注册机制需要针对每个数据库都做额外配置,但是结果却不准确。关于监听的配置,可以使用网络配置助手(Oracle Net Configuration Assistant)或网络管理器(Oracle Net Manager),也可以通过“f:\\app\\nn\\pruduct\\11.2.0\\dbhome_1\\network\\admin\\listener.ora”直接手动配置。

1)Net Configuration Assistant,主要为用户提供Oracle数据库的监听程序、命名方法、本地NET服务名和目录配置,网络配置助手以向导的形式出现,使配置过程简单,适合初学者,根据向导输入监听程序名称→网络协议→主机→端口,完成配置。

Oracle 11g服务器监听配置(oracle监听配置详解)。

2)Net Manager和Net Configuration Assistant功能相似,主要内容为本地服务命名和监听程序配置,但Net Manager将所有配置步骤集合到同一界面,更适合熟练者进行操作。根据界面的提示,点击“监听程序”,再点击左侧栏的“+”添加监听,按步骤输入:监听程序名称→网络协议→主机→端口,完成配置。

Oracle 11g服务器监听配置(oracle监听配置详解)。

3)通过“$ORACLE_HOME/network/admin/listener.ora”(Linux系统下)“$ORACLE_HOME\\11.2.0\\dbhome_1\\network\\admin\\listener.ora”(Windows系统)直接手动配置,在listener.ora加入下图红色部分的内容。

说明:可以通过查看listener.ora文件判断监听的注册方式,如果[监听名]和SID_LIST_[监听名]配置是成对出现的,这代表是静态监听;如果listener.ora文件只有[监听名]的配置,监听就变成动态监听了,这时它需要由oracle数据库的pmon主动向监听注册,告知监听有这么一个服务的存在。

Oracle 11g服务器监听配置(oracle监听配置详解)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 951076433@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:https://www.xiaomafuwu.com/101385.html

(0)
代码小二的头像代码小二

相关推荐