暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle动态监听与静态监听(二)

Oracle行者 2021-04-28
2047

动态监听和静态监听的最大区别,就是静态监听可以在数据库停机的状态下进行DBA运行维护操作。

动态监听是由实例PMON动态注册到tnslsnr进程上的。

PMON动态注册有两个条件:1.监听别名为LISTENER

1.监听端口为1521.

我们尝试一下:

结果显示实例没注册到监听上。

如何让动态监听注册到非默认监听(监听别名不为LISTENER或端口不为1521?

通过参数local_listener配置就可以了。

 

local_listener有三种配置方式:

1.不配置,为空(默认注册到LISTENER,端口1521监听)。

2.配置为网络服务名(tnsnames连接别名?没错,就是它!)。

3.直接硬编码监听地址(语法与tnsnames里面ADDRESS段相同)。

我们看看第二种:

tnsnames.ora文件

设置local_listener参数,并强制注册到监听:

再看看监听:

从上面监听看到有几个问题:

1.监听别名为LISTENER,端口1522local_listener配置为LIST2的服务名,端口指向1522.注册成功。说明动态注册跟据网络连接描述符所定内容进行端口注册。

2.系统默认注册ocpocpXDB两个服务,外加一个参数service_name指定的服务ocp1。说明实例注册服务到监听遵循几个点,第一,注册与SID同名服务。第二,注册{$SID}XDB服务(用于共享连接)。第三,注册service_name显示的服务(可以以逗号分隔多个)。

附上service_name参数:

回到静态监听

再看一下监听配置文件

是不是有点规律?静态监听是SID_LIST_开头,后一段名字和监听名称相同。其格式和监听配置还是有一定区别的。另外,GLOBAL_DBNAME是指定注册服务名。其实前面一点,对使用NetManager图形化配置静态监听的同学来说,其实很容易理解的,看一下配置图示:


如果再配LISTENER的静态监听:

看看效果:

看看Listener的静态静听ocps

再看看listener1的静态监听ocps

 

好了,监听这块就这么多了。如果有不明白的,可以留言。知无不言。


最后修改时间:2021-04-28 12:03:46
文章转载自Oracle行者,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论