千家信息网

Oracle监听器的静态注册与动态注册区别是什么

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本篇内容主要讲解"Oracle监听器的静态注册与动态注册区别是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Oracle监听器的静态注册与动态注册区别
千家信息网最后更新 2024年11月27日Oracle监听器的静态注册与动态注册区别是什么

本篇内容主要讲解"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",状态UNKOWN,包含此服务的一个处理程序。。。

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 =

(SERVICE_NAME =
test)

)

)

这里的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 set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.23)(PORT=1525))';
System altered

SQL>alter system register

System altered

(2)法2:

在Oracle服务器端建立$ORACLE_HOME/network/admin/tnsnames.ora。解析文件,位置并填入如下内容

mytest =

(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.1.23)(PORT = 1525))
)
)



这里的mytest也可以根据自己需要,修改为其他字符串。如a或b等。

设置参数,指定通过tnsnames.ora内的信息指定监听参数

SQL>alter system set local_listener=mytest;

System altered

SQL>alter system register;

3、查看监听器状态

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.23)(PORT=1525)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 15-MAR-2011 10:43:47
Uptime 0 days 0 hr. 0 min. 56 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /orahome/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /orahome/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraserver)(PORT=1525)))
Services Summary...
Service "a" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
Service "b" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
Service "c" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
Service "mydata" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
Service "mydataXDB" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
Service "mydata_XPT" has 1 instance(s).
Instance "mydata", status READY, has 1 handler(s) for this service...
The command completed successfully

到此,相信大家对"Oracle监听器的静态注册与动态注册区别是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

服务 监听 动态 数据 数据库 状态 参数 配置 静态 程序 处理 个例 监听器 全局 内容 端口 文件 客户 客户端 服务器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 饥荒队友服务器无响应 达梦数据库对象处于无效状态 中学生网络安全教育教案免费 福玩软件开发 帮注册软件开发者有什么影响 网络安全领域可考的证书 sj为什么网页链接不上服务器 标准定额云数据库与应用 奉贤区信息软件开发销售方法 无法登录别人数据库 修改数据库表名 圣士网络技术 电子软件开发专利 中国网络安全的探索与发展 中国银行数据库从哪来 我的世界新服务器在哪里 文明重启怎么搜索服务器名字 原神国际服服务器选哪个服务器 收银软件如何添加数据库 可以判断坐标间距离的数据库 前端获取服务器数据 互联网+税务 网络安全管理 搜大网络技术有限公司 微信棋牌类软件开发教程 软件和软件开发怎么区分税率 全面数据库 贵州什么软件开发价格优惠 霍尔果斯泰戈网络技术有限公司 牌九软件开发公司 广州博尧网络技术有限公司
0