转至:https://www.cnblogs.com/yj411511/p/12459533.html

oracle rac监听和oracle单节点监听不同,rac监听分为远程监听和本地监听:

  • 远程监听即remote_listener也是scan_listener

  • 本地监听即local_listener也是listener

local_listener 默认不需要配置,默认配置指向1521端口,对于需要单实例连接rac数据库实例且对端口有要求的情况,需要改变本地监听端口指向tns里的连接字符串,而在rac配置中默认指向本节点的vip。

remote_listener指向的是scan监听名,需要远程监听配置

1、修改远程监听端口

单节点执行

1.1 查看远程监听状态

切换至grid账号下

  1. [grid@db1 ~]$ srvctl config scan_listener
  2. SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521 #远程监听端口为1521
  3.  
  4. [grid@db1 ~]$ lsnrctl status LISTENER_SCAN1
  5.  
  6. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2020 22:17:50
  7.  
  8. Copyright (c) 1991, 2013, Oracle. All rights reserved.
  9.  
  10. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
  11. STATUS of the LISTENER
  12. ------------------------
  13. Alias LISTENER_SCAN1
  14. Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  15. Start Date 10-MAR-2020 22:02:49
  16. Uptime 1 days 0 hr. 15 min. 1 sec
  17. Trace Level off
  18. Security ON: Local OS Authentication
  19. SNMP OFF
  20. Listener Parameter File /u01/app/grid/11.2.0/network/admin/listener.ora
  21. Listener Log File /u01/app/grid/11.2.0/log/diag/tnslsnr/db1/listener_scan1/alert/log.xml
  22. Listening Endpoints Summary...
  23. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  24. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.205)(PORT=1521))) ## 远程监听端口为1521
  25. Services Summary...
  26. Service "orcl" has 2 instance(s).
  27. Instance "orcl1", status READY, has 1 handler(s) for this service...
  28. Instance "orcl2", status READY, has 1 handler(s) for this service...
  29. Service "orclXDB" has 2 instance(s).
  30. Instance "orcl1", status READY, has 1 handler(s) for this service...
  31. Instance "orcl2", status READY, has 1 handler(s) for this service...
  32. The command completed successfully

scan_listener如果不在节点1,则在另外一个节点查看

1.2 修改SCAN listener端口

在grid用户下进行,命令格式如下

  1. Modify SCAN listener port:
  2.  
  3. $GRID_HOME/bin/srvctl modify scan_listener -p
  4. Update 11gR2 database init.ora parameter: alter system set remote_listener=':' scope=both;

示例:

[grid@db1 ~]  GRID_HOME/bin/srvctl modify scan_listener -p 1525

1.3 为监听注册实例

切换到oracle节点执行

  1. SQL> show parameter listener NAME TYPE VALUE
  2.  
  3. [root@db1 ~]# su - oracle
  4. [oracle@db1 ~]$ sqlplus / as sysdba
  5.  
  6. SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 11 22:31:15 2020
  7.  
  8. Copyright (c) 1982, 2013, Oracle. All rights reserved.
  9.  
  10. Connected to:
  11. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  12. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
  13. Data Mining and Real Application Testing options
  14.  
  15. SQL> show parameter listener NAME TYPE VALUE
  16.  
  17. NAME TYPE VALUE
  18. ------------------------------------ ----------- ------------------------------
  19. listener_networks string
  20. local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
  21. DRESS=(PROTOCOL=TCP)(HOST=10.2
  22. 42.124.203)(PORT=1521))))
  23. remote_listener string dbscan:1521 ##远程监听端口为1521
  24.  
  25. SQL> alter system set remote_listener='dbscan:1525' scope=both;
  26.  
  27. System altered.
  28.  
  29. SQL> show parameter listener NAME TYPE VALUE
  30.  
  31. NAME TYPE VALUE
  32. ------------------------------------ ----------- ------------------------------
  33. listener_networks string
  34. local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
  35. DRESS=(PROTOCOL=TCP)(HOST=10.2
  36. 42.124.203)(PORT=1521))))
  37. remote_listener string dbscan:1525 ##远程监听端口已经修改为1525

1.4 重启远端监听scan listener生效新端口

切换至grid

  1. [grid@db1 ~]# srvctl stop scan_listener
  2. [grid@db1 ~]# srvctl start scan_listener

1.5 确认远端监听状态

  1. [grid@db1 ~]$ srvctl config scan_listener
  2. SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1525
  3.  
  4. [grid@db1 ~]$ lsnrctl status LISTENER_SCAN1
  5.  
  6. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2020 22:40:51
  7.  
  8. Copyright (c) 1991, 2013, Oracle. All rights reserved.
  9.  
  10. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
  11. STATUS of the LISTENER
  12. ------------------------
  13. Alias LISTENER_SCAN1
  14. Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  15. Start Date 10-MAR-2020 22:02:49
  16. Uptime 1 days 0 hr. 38 min. 2 sec
  17. Trace Level off
  18. Security ON: Local OS Authentication
  19. SNMP OFF
  20. Listener Parameter File /u01/app/grid/11.2.0/network/admin/listener.ora
  21. Listener Log File /u01/app/grid/11.2.0/log/diag/tnslsnr/db1/listener_scan1/alert/log.xml
  22. Listening Endpoints Summary...
  23. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  24. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.205)(PORT=1525))) #远程节点端口已经修改为1525
  25. Services Summary...
  26. Service "orcl" has 2 instance(s).
  27. Instance "orcl1", status READY, has 1 handler(s) for this service...
  28. Instance "orcl2", status READY, has 1 handler(s) for this service...
  29. Service "orclXDB" has 2 instance(s).
  30. Instance "orcl1", status READY, has 1 handler(s) for this service...
  31. Instance "orcl2", status READY, has 1 handler(s) for this service...
  32. The command completed successfully

发现rac集群远端监听端口已经修改完毕
使用sqlplus连接正常

2、修改本地监听端口

双节点都要执行

2.1 获取本地监听程序配置信息

切换到grid执行

  1. [grid@db1 ~]$ srvctl config listener
  2. Name: LISTENER
  3. Network: 1, Owner: grid
  4. Home: <CRS home>
  5. End points: TCP:1521 #本地监听端口为1521
  6.  
  7. [grid@db1 ~]$ lsnrctl status #查看监听状态
  8.  
  9. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2020 23:11:02
  10.  
  11. Copyright (c) 1991, 2013, Oracle. All rights reserved.
  12.  
  13. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
  14. STATUS of the LISTENER
  15. ------------------------
  16. Alias LISTENER
  17. Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  18. Start Date 10-MAR-2020 22:02:49
  19. Uptime 1 days 1 hr. 8 min. 13 sec
  20. Trace Level off
  21. Security ON: Local OS Authentication
  22. SNMP OFF
  23. Listener Parameter File /u01/app/grid/11.2.0/network/admin/listener.ora
  24. Listener Log File /u01/grid/diag/tnslsnr/db1/listener/alert/log.xml
  25. Listening Endpoints Summary...
  26. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  27. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.201)(PORT=1521)))
  28. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.203)(PORT=1521)))
  29. Services Summary...
  30. Service "+ASM" has 1 instance(s).
  31. Instance "+ASM1", status READY, has 1 handler(s) for this service...
  32. Service "orcl" has 1 instance(s).
  33. Instance "orcl1", status READY, has 1 handler(s) for this service...
  34. Service "orclXDB" has 1 instance(s).
  35. Instance "orcl1", status READY, has 1 handler(s) for this service...
  36. The command completed successfully

2.2 修改本地监听端口

  1. [grid@db1 ~]$ srvctl modify listener -l LISTENER -p "TCP:1525"

2.3 手工修改LOCAL_LISTENER参数注册实例

切换到oracle用户执行

  1. [root@db1 ~]# su - oracle
  2. [oracle@db1 ~]$ sqlplus / as sysdba
  3.  
  4. SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 11 22:59:39 2020
  5.  
  6. Copyright (c) 1982, 2013, Oracle. All rights reserved.
  7.  
  8. Connected to:
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  10. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
  11. Data Mining and Real Application Testing options
  12.  
  13. SQL> show parameter listener NAME TYPE VALUE
  14.  
  15. NAME TYPE VALUE
  16. ------------------------------------ ----------- ------------------------------
  17. listener_networks string
  18. local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
  19. DRESS=(PROTOCOL=TCP)(HOST=10.2
  20. 42.124.203)(PORT=1521)))) #本地端口为1521
  21. remote_listener string dbscan:1525
  22. SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.2
  23. 42.124.203)(PORT=3521))))' scope=both sid='orcl1' # 此处HOST为节点虚地址vip,sid为节点进程ID
  24. System altered.
  25. SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.2
  26. 42.124.204)(PORT=3521))))' scope=both sid='orcl1' # 此处HOST为节点虚地址vip,sid为节点进程ID
  27. System altered.
  28. SQL> show parameter listener
  29.  
  30. NAME TYPE VALUE
  31. ------------------------------------ ----------- ------------------------------
  32. listener_networks string
  33. local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
  34. DRESS=(PROTOCOL=TCP)(HOST=10.2
  35. 42.124.203)(PORT=1525))))
  36. remote_listener string dbscan:1525 #本地端口已经修改

2.4 重启本地监听

切换到grid用户执行

  1. [grid@db1 ~]# srvctl stop listener
  2. [grid@db1 ~]# srvctl start listener

2.5 查看本地监听状态

  1. [grid@db1 ~]$ lsnrctl status #查看监听状态
  2.  
  3. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2020 23:11:02
  4.  
  5. Copyright (c) 1991, 2013, Oracle. All rights reserved.
  6.  
  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
  8. STATUS of the LISTENER
  9. ------------------------
  10. Alias LISTENER
  11. Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  12. Start Date 10-MAR-2020 22:02:49
  13. Uptime 1 days 1 hr. 8 min. 13 sec
  14. Trace Level off
  15. Security ON: Local OS Authentication
  16. SNMP OFF
  17. Listener Parameter File /u01/app/grid/11.2.0/network/admin/listener.ora
  18. Listener Log File /u01/grid/diag/tnslsnr/db1/listener/alert/log.xml
  19. Listening Endpoints Summary...
  20. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  21. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.201)(PORT=1525))) # 实地址端口已经改为1525
  22. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.242.124.203)(PORT=1525))) # 虚地址端口已经改为1525
  23. Services Summary...
  24. Service "+ASM" has 1 instance(s).
  25. Instance "+ASM1", status READY, has 1 handler(s) for this service...
  26. Service "orcl" has 1 instance(s).
  27. Instance "orcl1", status READY, has 1 handler(s) for this service...
  28. Service "orclXDB" has 1 instance(s).
  29. Instance "orcl1", status READY, has 1 handler(s) for this service...
  30. The command completed successfully

oracle 11g rac修改监听端口(远程监听和本地监听)的更多相关文章

  1. Oracle 11g RAC 修改各类IP地址

    Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...

  2. oracle 11g rac 修改VIP、scan VIP、priv IP

    11GR2 RAC modify vip,public ip,private ip,scan vip实施步骤1 修改目的    根据业务的需求,需要由原来的临时IP改为生产ip,以下为调整前后对应的I ...

  3. oracle 11g rac 修改字符集

    系统版本: Oracle Linux Server release 5.7 数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.3 ...

  4. Oracle 11G RAC 修改IP

    实验环境 类别 修改前 修改后 PUBLIC 172.18.4.182 rac1 192.168.56.10 rac1 172.18.4.184 rac2 192.168.56.20 rac2 PRI ...

  5. Oracle 11g RAC 环境下单实例非缺省监听及端口配置

    如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...

  6. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  7. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  8. 数据库系统入门 | Oracle Linux上部署Oracle 11g服务,并实现SSH远程登录管理

    文章目录 写在前面 一.实验内容 二.实验前期准备 1.软件目录 2.准备一些配置文件.脚本文件 三.实验方案(具体步骤) (一)在虚拟机上安装Oracle Linux (二)在Linux上安装Ora ...

  9. 转载:细说oracle 11g rac 的ip地址

    本文转载自:细说oracle 11g rac 的ip地址 http://blog.sina.com.cn/s/blog_4fe6d4250102v5fa.html 以前搭建oracle rac的时候( ...

随机推荐

  1. 一种Django多租户解决方案

    什么是多租户? 多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性. 多租 ...

  2. docker内存限制

    默认docker容器可以使用宿主机所有的内存和CPU,我们可以通过 docker run 来限制内存和CPU的使用. 有的系统内核不支持 Linux capabilities. 可以通过 docker ...

  3. Zookeeper 源码解析-环境准备

    为了深入学习Zookeeper,准备把zookeeper源码导入eclipse中学习 一.Ant环境准备 因为我自己用的是Mac,直接输入命令:brew install ant即可 如果是window ...

  4. BeanFactory 工厂模式

    /** * BeanFactory实现类 */ public class ClassPathXmlApplicationContext implements BeanFactory { private ...

  5. 「LOJ 6373」NOIP2017 普及组题目大融合

    NOIP2017 普及组题目大融合 每个读者需要有某个后缀的书,可以暴力map,复杂度\(o(9*nlog(n))\),也可以反串建trie树,复杂度\(o(9*n)\). 故可以求出需要的最少的RM ...

  6. 对JSP中的Session 简单理解

    我的理解: 简单来说,要使用服务器端的session对象,就是要有其对应的key,即sessionid,它只认识sessionid. 下面我说的cookie,url重写或者隐藏表单,都是为了将其对应的 ...

  7. vue中mapGetters和...mapGetters

    vuex中的...mapGetters(['name'])如何实现的 vuex vue.js 根据文档介绍 https://vuex.vuejs.org/zh-cn/... 和看了 http://ww ...

  8. 用curl发起https请求

    使用curl发起https请求 使用curl如果想发起的https请求正常的话有2种做法: 方法一.设定为不验证证书和host. 在执行curl_exec()之前.设置option $ch = cur ...

  9. sublime中的emmet插件的使用技巧

    1.我要生成一个2行3列,宽300px,高500px的表. table[width=300 height=500]>(tr>td{$}*3)*2

  10. 认识Html DOM

    1.认识HTML DOM HTML Document Object Model 即:超文本标记语言-文档对象模型 HTML DOM理解为网页的API.它将网页中的各个元素都看作一个个对象,从而使网页中 ...