本篇内容主要讲解“Oracle监听器的静态注册与动态注册区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle监听器的静态注册与动态注册区别是什么”吧!在运行lsnrctl命令的status时,常会看到如下返回值:
服务“test”包含1个例程。 例程”mydata”,状态 UNKOWN,包含此服务的一个处理程序。。。服务”a”包含1个例程。 例程”mydata”,状态 READY,包含此服务的一个处理程序。。。这里的,状态UNKOWN即表明为静态注册(手动填写参数);
状态为READY的记录,表明为动态注册(listener.ora参数由PMON进程自动从参数文件获取);
一、静态注册
监听配置中,数据库服务中的全局数据库名,可以写任意内开发云主机域名容,与数据库无关,只要保证SID正确即可连上数据库。
由于静态注册,参数是手动静态添加,与数据库无关。数据库无法确认监听是否正确配置。因此,lsnrctl中的status显示状态为unkown。即不保证能连通数据库。
注意:静态注册监听,客户端在配置tnsnames.ora服务命名时,“(Oracle 8i或更高版本)服务名”里填写内容要与服务端静态注册监听器时的全局数据库名一致。否则,无法连通。
lsnrctl中显示如下服务“test”包含1个例程。 例程“mydata”,状态UNK开发云主机域名OWN,包含此服务的一个处理程序。。。test即从监听配置过程,数据库服务中的“全局数据库名”读到的值(即配置文件中GLOBAL_DBNAME的值),“mydata”是从监听配置中,数据库服务中SID读到的值(即SID_NAME的值)。SID_LIST_LISTENER =(SID_LIST = (SID_DESC = (GLOBAL_DBNAME = test) (ORACLE_HOME = /orahome/oracle/product/10.2.0/db_1) (SID_NAME = mydata) ))客户端在配置tnsname时,服务名(SERVICE_NAME)即为test。否则,连接不到数据库。ABC =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521)) ) (CONNECT_DATA = ))这里的ABC,为服务命名。可以为任意值,在客户端连接服务器时,填写的主机字符串,即为此服务命名ABC。
二、动态注册
1、缺省的动态注册
pmon在数据库启动到mount或open时,动态从参数文件中读取service_开发云主机域名names值。service_names可以为多个值。
service_names缺省为dbca建立数据库时的全局数据库名。
设置参数service_names为’a,b,c’,命令如下:
alter system set service_names=’a,b,c’;
则:
lsnrctl状态如下:服务“test”包含1个例程。 例程”mydata”,状态 UNKOWN,包含此服务的一个处理程序。。。服务”a”包含1个例程。 例程”mydata”,状态 READY,包含此服务的一个处理程序。。。服务”b”包含1个例程。 例程”mydata”,状态 READY,包含此服务的一个处理程序。。。服务”c”包含1个例程。 例程”mydata”,状态 READY,包含此服务的一个处理程序。。。服务 “mydata.ccddt.cn” 包含一个例程。 例程”mydata”,状态 READY, 包含此服务的一个处理程序。。。以上服务名a, b, c, mydata.ccddt.cn都为READY,为动态注册。
这里多了最后一条”mydata.ccddt.cn”,是PMON缺省动态注册到监听器内的。
注意:不管参数service_names为何值,pmon都会自动以全局数据库名(这里为mydata.ccddt.cn)为服务名,动态注册一个监听。
缺省情况下,若启用动态注册监听,端口号必须为1521。若启用其他端口的动态监听注册,必须要做相关配置。
通过查看v$session,状态为SYS$USERS的连接为通过静态注册监听连接到服务器。
2、自定义端口的动态监听注册
若要启用非默认端口1521的动态监听注册,缺省状态,Oracle不会进行动态注册。要启用动态注册,必须设置local_listener参数。并在服务端配置tnsnames.ora指定监听参数,或者直接通过修改local_listener指定监听参数。步骤如下:
1)服务端
netmgr,配置监听程序,监听端口为1525(非默认端口)
保存配置
2)、指定监听参数 (1)法1:直接通过修改local_listener参数指定
SQL>alter system register
System altered (2)法2:在Oracle服务器端建立$ORACLE_HOME/network/admin/tnsnames.ora。解析文件,位置并填入如下内容mytest =
这里的mytest也可以根据自己需要,修改为其他字符串。如a或b等。设置参数,指定通过tnsnames.ora内的信息指定监听参数System alteredSQL>alter system register;
3、查看监听器状态
到此,相信大家对“Oracle监听器的静态注册与动态注册区别是什么”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
本文从转载,原作者保留一活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看切权利,若侵权请联系删除。
《Oracle监听器的静态注册与动态注册区别是什么》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...