目录
修改11gRAC监听端口号:
修改前一定要查看修改后的端口有没有被占用:
# netstat -an|grep <new-listener-port>
1、查看当前数据库监听状态:
(grid用户执行)
$ lsnrctl status
$ srvctl config listener -a
示例:
$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-APR-2023 10:25:06
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 27-APR-2023 01:10:51
Uptime 1 days 9 hr. 14 min. 15 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0.4/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/lihua1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.11)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.13)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
The command completed successfully
$ srvctl config listener -a
Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/11.2.0.4/grid on node(s) lihua2,lihua1
End points: TCP:1521
2、修改集群监听端口:
-
修改监听端口:(grid用户单节点执行)
$ srvctl modify listener -l LISTENER -p "TCP:<new-listener-port>"
-
修改scan端口:(grid用户单节点执行)
$ srvctl modify scan_listener -p <new-scan-port>
示例:
$ srvctl modify listener -l LISTENER -p "TCP:1522"
$ srvctl modify scan_listener -p 1522
3、手动修改LOCAL_LISTENER:
语法:
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=[<Host-name>|Vip])(PORT=<new-port-number>))))' scope=both sid='<your-chosen-instance>';
注意:按照实例所在节点修改"IP"和"实例名","DB"和"ASM"实例都需要修改local_listener,否则实例无法注册进监听
(1).修改DB实例本地监听
(oracle用户所有节点执行)
示例:
节点一:
#登录DB实例
su - oracle
export ORACLE_SID=orcl1
sqlplus / as sysdba
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
192.168.48.13)(PORT=1521))
#修改LOCAL_LISTENER
SQL> alter system set local_listener ="(ADDRESS=(PROTOCOL=TCP)(HOST= 192.168.48.13)(PORT=1522))" SID='orcl1';
System altered.
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
192.168.48.13)(PORT=1522))
节点二:
#登录DB实例
su - oracle
export ORACLE_SID=orcl2
sqlplus / as sysdba
#修改LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
192.168.48.14)(PORT=1521))
#修改LOCAL_LISTENER
SQL> alter system set local_listener ="(ADDRESS=(PROTOCOL=TCP)(HOST= 192.168.48.14)(PORT=1522))" SID='orcl2';
System altered.
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
192.168.48.14)(PORT=1522))
(2).修改ASM实例本地监听
(grid用户所有节点执行)
示例:
节点一:
#登录ASM实例
su - grid
export ORACLE_SID=+ASM1
sqlplus / as sysasm
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------ -------------- -------------------------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.48.13)(PORT=1521))))
#修改LOCAL_LISTENER
SQL> alter system set local_listener ="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.48.13)(PORT=1522))))" SID='+ASM1';
System altered.
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------ -------------- -------------------------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.48.13)(PORT=1522))))
节点二:
#登录ASM实例
su - grid
export ORACLE_SID=+ASM2
sqlplus / as sysasm
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------ -------------- -------------------------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.48.14)(PORT=1521))))
#修改LOCAL_LISTENER
SQL> alter system set local_listener ="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.48.14)(PORT=1522))))" SID='+ASM2';
System altered.
#查看LOCAL_LISTENER
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------ -------------- -------------------------------------------------
local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.48.14)(PORT=1522))))
4、手动修改REMOTE_LISTENER:
#查看REMOTE_LISTENER
SQL> show parameter remote_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_listener string lihua-scan:1521
#修改REMOTE_LISTENER
SQL> alter system set remote_listener='lihua-scan:1522';
System altered.
#查看REMOTE_LISTENER
SQL> show parameter remote_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_listener string lihua-scan:1522
5、停止集群监听和SCAN:
停止监听和scan:(grid用户单节点执行)
$ srvctl stop listener [-l <lsnr_name>] [-n <node_name>] [-f]
$ srvctl stop scan [-i <ordinal_number>] [-f]
$ srvctl stop scan_listener [-i <ordinal_number>] [-f]
示例:
$ srvctl stop listener -l LISTENER
$ srvctl stop scan_listener
6、启动集群监听和SCAN:
启动监听和scan:(grid用户所有节点执行)
$ srvctl start listener [-l <lsnr_name>] [-n <node_name>]
$ srvctl start scan [-i <ordinal_number>] [-n <node_name>]
$ srvctl start scan_listener [-n <node_name>] [-i <ordinal_number>]
示例:
#启动集群监听和SCAN
$ srvctl start listener -l LISTENER
$ srvctl start scan_listener
7、验证数据库监听端口状态:
(grid用户执行)
$ lsnrctl status
$ srvctl config listener
示例:
节点一:
$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-APR-2023 11:08:33
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 28-APR-2023 11:07:40
Uptime 0 days 0 hr. 0 min. 53 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0.4/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/lihua1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.11)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.13)(PORT=1522)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
The command completed successfully
$ srvctl config listener -a
Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/11.2.0.4/grid on node(s) lihua2,lihua1
End points: TCP:1522
节点二:
$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-APR-2023 11:08:08
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 28-APR-2023 11:07:40
Uptime 0 days 0 hr. 0 min. 27 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0.4/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/lihua2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.12)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.48.14)(PORT=1522)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl2", status READY, has 1 handler(s) for this service...
The command completed successfully
$ srvctl config listener -a
Name: LISTENER
Network: 1, Owner: grid
Home: <CRS home>
/u01/app/11.2.0.4/grid on node(s) lihua2,lihua1
End points: TCP:1522
注意:若配置了
$GRID_HOME/network/admin/tnsnames.ora
文件,也需要修改其中端口
For RAC and/or SCAN please see:Changing Listener Ports On RAC/EXADATA (Doc ID 1473035.1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?