方法
一台数据库服务器一般只听器可以监听多个数据库,也可以一个数据库多个监听,当然也可以为每个数据库配置专门的监听器,这要根据具体的是将数据库服务的注册信息写入指定文件,那样每次启动监听的时候就会自动读取数我们把实例将数据库将所提供的服务名及相关信息告知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 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服务名和目录配置,网络配置助手以向导的形式出现,使配置过程简单,适合初学者,根据向导输入监听程序名称→网络协议→主机→端口,完成配置。
说明:可以通过查看listener.ora文件判断监听的注册方式,如果[监听名]和SID_LIST_[监听名]配置是成对出现的,这代表是静态监听;如果listener.ora文件只有[监听名]的配置,监听就变成动态监听了,这时它需要由oracle数据库的pmon主动向监听注册,告知监听有这么一个服务的存在。
标签: #Oracle