分享Oracle。

nnthf 360 0
Oracle监听器运行于数据库服务器端一个进程,用于监并提供处理数据库服务方面的请求。这个进程负责监听用户的连接请求,每当收到一个用户请求,监听器进程就会创建一个影子进程,然后把用户程,由影子进程继续完成用户把用户转交给影子进程,监听进程的任务就算完成了,会继续去监听下一个用户请求,监听器配置文件listenercle能够支持2中连接方式,分别是专有模于,专有模式为每个用户连接启动一个单独的影子进程,相当于为每个用户提供一个单独的到服务器的会话通道,其特点是响应客户端请求享模式是由多个用享一个会话通道。

方法

一台数据库服务器一般只听器可以监听多个数据库,也可以一个数据库多个监听,当然也可以为每个数据库配置专门的监听器,这要根据具体的是将数据库服务的注册信息写入指定文件,那样每次启动监听的时候就会自动读取数我们把实例将数据库将所提供的服务名及相关信息告知listener的过程称之为库的服务名、实例名、SERVER模式、端口号等。我们可以通过Ls行情况和数据库的状态:stener中。如果没有定义servib_name和db_domain组成的一个全听器中,instance_name是实例名称,一般和SID值

配置在listener.tener.ora配置如图7-4绿色部分的内容来实现动态注册也无妨,DBA还可以通过SQL语句—“altersystemregister;”强制PMON向监听器动态注册。在Oracle9i之后,不需要任何配置即可实现动态注册,实例启动后会自动在本地主机默认的号端口上查找监听器,并进行注册。


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


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

事实上,我们常说的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服务名和目录配置,网络配置助手以向导的形式出现,使配置过程简单,适合初学者,根据向导输入监听程序名称→网络协议→主机→端口,完成配置。

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

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