我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle一个实例配置多个监听

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle一个实例配置多个监听

要想给一个Oracle实例配置多个监听,首先要定义多个监听器,因为是多个监听,势必会有一些监听端口不是1521.

现在服务端的listener.ora文件中定义如下监听器:
[oracle@wang admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LI =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = wang)(PORT = 1522))
    )
  )

[oracle@wang admin]$

注意:
Because all of the configuration parameters have default values, it is possible to start and use a listener with no configuration. This default listener has a name of LISTENER, supports no services on startup, and listens on the following TCP/IP protocol address: (ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1521))  

这句话就能解释,即使是在没有listener.ora文件的情况下,也会可以启动名为LISTENER的监听来监听1521端口。

一个监听1521端口的默认监听器,一个监听1522端口的监听器LI. 到现在我们还没有给这两个监听器配置相应的Oracle服务.

监听器与Oracle服务关联有两种方式,静态注册和动态注册.

  • 动态注册

 动态注册只能注册到默认的1521端口,而这里我们需要一次性的动态注册到两个端口,因为需要使用local_listener.

先在服务端的tnsnames.ora文件里加入一个描述对象L,具体叫什么其实都无所谓的.然后会把它赋值给local_listner,这样Pmon才知道往那些指定的IP和端口发送注册请求.

动态注册的时候,PMon会到tnsnames.ora里面查找描述对象的具体信息,

L =
  (
    DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1522))
    )
  )

SQL> alter system set local_listener='l';

System altered.

其实local_listener也接受直接的地址描述或者地址描述列表.
SQL>  alter system set local_listener=' (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1522))';

-更改local_listener后,原来注册的服务会取消,然后PMON每隔一分钟重参试注册到新地址.下面我们手动触发注册.

SQL> alter system register; --注册到新的local_listener

System altered.

SQL>  alter system set local_listener='(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1522))))';--同时注册到1521 和1522 端口.

System altered.

SQL> alter system register;

System altered.

--查看监听状态:
[oracle@wang admin]$ lsnrctl status li

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 06-FEB-2018 18:47:13

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wang)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     li
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                06-FEB-2018 17:38:09
Uptime                    0 days 1 hr. 9 min. 3 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/wang/li/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wang)(PORT=1522)))
Services Summary...
Service "DBdb" has 1 instance(s).
  Instance "DBdb", status READY, has 1 handler(s) for this service...
Service "DBdbXDB" has 1 instance(s).
  Instance "DBdb", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@wang admin]$
[oracle@wang admin]$
[oracle@wang admin]$ lsnrctl status   

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 06-FEB-2018 18:47:17

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                06-FEB-2018 17:38:04
Uptime                    0 days 1 hr. 9 min. 12 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/wang/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wang)(PORT=1521)))
Services Summary...
Service "DBdb" has 1 instance(s).
  Instance "DBdb", status READY, has 1 handler(s) for this service...
Service "DBdbXDB" has 1 instance(s).
  Instance "DBdb", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@wang admin]$

动态注册的服务名为service_name.db_domain,

  • 静态注册

在服务端的listener.ora里对监听器LI配置静态的服务名称和实例名,下面没有列出默认监听器的配置.

此时的默认监听器还是监听在1521端口的,而且没有设置local_listener
(alter system reset local_listener 可以把local_listener还原成默认值).

所以Pmon会默认注册到默认监听器的.

因此我们只需要在给监听在1522端口的LI配置静态服务,这样就有两个监听器为我们的实例服务了.

配置如下:

[oracle@wang admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LI =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = wang)(PORT = 1522))
    )
  )

SID_LIST_LI=
   (SID_LIST=
     (SID_DESC=
       (GLOBAL_DBNAME=DBdb)
       (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
       (SID_NAME=DBdb)
     )
    )

[oracle@wang admin]$

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle一个实例配置多个监听

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么实现一个Java监听器

这期内容当中小编将会给大家带来有关怎么实现一个Java监听器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、前言监听器就是监听事件源是否发生了某一个事件,当发生指定监听的事件时事件源会向已注册的监听器发
2023-06-15

JavaWeb中怎么实现一个监听器

JavaWeb中怎么实现一个监听器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 监听器实现一个监听器的接口;(有n种监听器)1.1 编写一个监听器(实现监听器接口)Onl
2023-06-20

一个云服务器多个实例

在云服务器中,每个实例可以运行一个或多个应用程序,并且可以通过网络连接共享它们。这意味着,多个实例可以访问彼此的资源,同时还可以访问与实例相同的资源,例如存储空间、网络带宽等。因此,为了保证数据的可靠性和性能,需要确保多个实例之间的隔离性。为实现这一目标,可以使用以下解决方案:虚拟化技术:通过将多个实例整合到同一台服务器中,可以实现负载均衡和多种应用程序的隔离性。这可以避免某些实例在不同的
2023-10-26

Nginx如何实现同一个域名配置多个项目

这篇文章主要介绍Nginx如何实现同一个域名配置多个项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用Nginx要在同一个域名下配置多个项目有两种方式:nginx按不同的目录分发给不同的项目启用二级域名,不同的项
2023-06-14

linux下一个网卡如何配置多个IP

本篇内容主要讲解“linux下一个网卡如何配置多个IP”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下一个网卡如何配置多个IP”吧!linux下一个网卡如何配置多个IP?linux下边
2023-06-13

阿里云一个实例多个服务器

简介在云计算时代,阿里云作为国内领先的云服务提供商,为企业和个人提供了强大的云计算基础设施。其中,阿里云的一个实例可以运行多个服务器,这种多服务器部署方式可以提高系统的可用性和灵活性,满足不同业务的需求。多服务器部署的优势1.提高系统可用性通过在一个实例上运行多个服务器,可以实现系统的高可用性。如果其中一个服务器出现故
阿里云一个实例多个服务器
2024-01-01

怎么在Android中利用Activity实现一个监听器

怎么在Android中利用Activity实现一个监听器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Activity在Activity中,使用findViewById(int
2023-06-14

编程热搜

目录