In this article I will
explain how we modify Listener and SCAN Listener ports in RAC environment. For
this article, in a 2 nodes RAC on Windows, my database listeners are listening
ports 1521 and scan listeners are running on port 1522. I will change listeners’
ports to 1531 and scan listeners’ ports to 1532.
Please note that we no longer need to modify listener.ora file to modify the listeners’ ports. We will use srvctl command to modify listener ports and this is the way we should do this in a RAC environment.
To do the same in Linux
environment, we would need to log in as “grid” user to perform these changes. For
Windows, I will log in as Administrator user
C:\Users\dba_user>crsctl stat res -t
--------------------------------------------------------------------------------
NAME
TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE racnodea
ONLINE ONLINE racnodeb
ora.FRA.dg
ONLINE ONLINE racnodea
ONLINE ONLINE
racnodeb
ora.LISTENER.lsnr
ONLINE ONLINE racnodea
ONLINE ONLINE racnodeb
ora.OCRDG.dg
ONLINE ONLINE racnodea
ONLINE ONLINE racnodeb
ora.asm
ONLINE ONLINE racnodea Started
ONLINE ONLINE racnodeb Started
ora.gsd
OFFLINE OFFLINE racnodea
OFFLINE OFFLINE racnodeb
ora.net1.network
ONLINE ONLINE
racnodea
ONLINE ONLINE racnodeb
ora.ons
ONLINE ONLINE racnodea
ONLINE ONLINE racnodeb
ora.registry.acfs
ONLINE ONLINE racnodea
OFFLINE OFFLINE racnodeb
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1
ONLINE ONLINE racnodea
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE
racnodeb
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE
racnodeb
ora.cvu
1 ONLINE ONLINE
racnodeb
ora.oc4j
1 ONLINE
ONLINE racnodeb
ora.mydbq.db
1 ONLINE ONLINE
racnodea Open
2 ONLINE ONLINE
racnodeb Open
ora.scan1.vip
1 ONLINE ONLINE
racnodea
ora.scan2.vip
1 ONLINE ONLINE
racnodeb
ora.scan3.vip
1 ONLINE ONLINE
racnodeb
ora.racnodea.vip
1 ONLINE ONLINE
racnodea
ora.racnodeb.vip
1 ONLINE ONLINE
racnodeb
|
As you see I have 3
scan listeners from which LISTENER_SCAN1 is running on node1 and LISTENER_SCAN2
and LISTENER_SCAN2 are running on node2. I will demonstrate port changing on
node1 (racnodea) only as method to change on other node(s) will be same.
Let’s check the current configuration of the listeners and scan listeners. I am executing these commands from RACNODEA (node1)
Let’s check the current configuration of the listeners and scan listeners. I am executing these commands from RACNODEA (node1)
C:\Users\dba_user>srvctl config listener
Name: LISTENER
Network: 1, Owner: nt authority\system
Home: <CRS home>
End points: TCP:1521
C:\Users\dba_user>srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node racnodea
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node racnodeb
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node racnodeb
C:\Users\dba_user>srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node
racnodea
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is running on node
racnodeb
SCAN Listener LISTENER_SCAN3 is enabled
SCAN listener LISTENER_SCAN3 is running on node
racnodeb
C:\Users\dba_user>srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port:
TCP:1522
SCAN Listener LISTENER_SCAN2 exists. Port:
TCP:1522
SCAN Listener LISTENER_SCAN3 exists. Port:
TCP:1522
C:\Users\dba_user>srvctl config scan
SCAN name: racdb-scan.mydomain.com, Network:
1/10.133.125.0/255.255.255.0/public
SCAN VIP name: scan1, IP:
/racdb-scan.mydomain.com/10.133.125.145
SCAN VIP name: scan2, IP:
/racdb-scan.mydomain.com/10.133.125.144
SCAN VIP name: scan3, IP:
/racdb-scan.mydomain.com/10.133.125.143
|
We can also use lsnrctl command to check the status
and currently registered services with the listener and scan listener
C:\Users\dba_user>lsnrctl status
listener
LSNRCTL
for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-NOV-2015 10:51:21
Copyright
(c) 1991, 2011, Oracle. All rights
reserved.
Connecting
to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS
of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit
Windows: Version 11.2.0.3.0 - Production
Start
Date 15-NOV-2015
20:29:43
Uptime 11 days 14 hr. 21 min. 40
sec
Trace
Level off
Security ON: Local OS Authentication
SNMP OFF
Listener
Parameter File
D:\apps\11.2.0\grid\network\admin\listener.ora
Listener
Log File
D:\apps\11.2.0\grid\log\diag\tnslsnr\racnodea\listener\alert\log.xml
Listening
Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENERipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.139)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.141)(PORT=1521)))
Services
Summary...
Service
"+ASM" has 1 instance(s).
Instance "+asm1", status READY,
has 1 handler(s) for this service...
Service
"mydbq" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Service
"mydbq.mydomain.com" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Service
"mydbqXDB" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
The
command completed successfully
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\LSNRCTL.EXE
status listener_scan1
LSNRCTL
for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-NOV-2015 10:56:02
Copyright
(c) 1991, 2011, Oracle. All rights
reserved.
Connecting
to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS
of the LISTENER
------------------------
Alias LISTENER_SCAN1
Version TNSLSNR for 64-bit
Windows: Version 11.2.0.3.0 - Production
Start
Date 15-NOV-2015
20:29:45
Uptime 11 days 14 hr. 26 min. 21
sec
Trace
Level off
Security ON: Local OS Authentication
SNMP OFF
Listener
Parameter File D:\apps\11.2.0\grid\network\admin\listener.ora
Listener
Log File
D:\apps\11.2.0\grid\log\diag\tnslsnr\racnodea\listener_scan1\alert\log.xml
Listening
Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENER_SCAN1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.145)(PORT=1541)))
Services
Summary...
Service
"mydbq" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
Service
"mydbq.apac.wdpr.disney.com" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
Service
"mydbqXDB" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
The
command completed successfully
|
Now let’s modify the ports of listener and scan
listener on node 1( RACNODEA). Execute same commands on other node(2) to modify
ports of other listener(s) and scan listener(s).
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
modify listener -l listener -p 1531
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
config listener
Name:
LISTENER
Network:
1, Owner: nt authority\system
Home:
<CRS home>
End
points: TCP:1531
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
modify scan_listener -p 1532
C:\Users\dba_user>srvctl
config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1532
SCAN Listener LISTENER_SCAN2 exists. Port:
TCP:1522
SCAN Listener LISTENER_SCAN3 exists. Port:
TCP:1522
|
Now we would need to restart listener as well as
scan listener to reflect these changes in ports.
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
stop listener
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
start listener
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
stop scan_listener
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\srvctl
start scan_listener
|
After restart, sessions now can connect with
database using new port number. We can also check status of listener and scan
listener using “lsnrctl” command, and see if these are listening on new ports
C:\Users\dba_user>lsnrctl status
listener
LSNRCTL
for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-NOV-2015 10:51:21
Copyright
(c) 1991, 2011, Oracle. All rights
reserved.
Connecting
to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS
of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit
Windows: Version 11.2.0.3.0 - Production
Start
Date 15-NOV-2015
20:29:43
Uptime 11 days 14 hr. 21 min. 40
sec
Trace
Level off
Security ON: Local OS Authentication
SNMP OFF
Listener
Parameter File
D:\apps\11.2.0\grid\network\admin\listener.ora
Listener
Log File
D:\apps\11.2.0\grid\log\diag\tnslsnr\racnodea\listener\alert\log.xml
Listening
Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENERipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.139)(PORT=1531)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.141)(PORT=1531)))
Services
Summary...
Service
"+ASM" has 1 instance(s).
Instance "+asm1", status READY,
has 1 handler(s) for this service...
Service
"mydbq" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Service
"mydbq.mydomain.com" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Service
"mydbqXDB" has 1 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
The
command completed successfully
C:\Users\dba_user>D:\apps\11.2.0\grid\BIN\LSNRCTL.EXE
status listener_scan1
LSNRCTL
for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-NOV-2015 10:56:02
Copyright
(c) 1991, 2011, Oracle. All rights
reserved.
Connecting
to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS
of the LISTENER
------------------------
Alias LISTENER_SCAN1
Version TNSLSNR for 64-bit
Windows: Version 11.2.0.3.0 - Production
Start
Date 15-NOV-2015
20:29:45
Uptime 11 days 14 hr. 26 min. 21
sec
Trace
Level off
Security ON: Local OS Authentication
SNMP OFF
Listener
Parameter File D:\apps\11.2.0\grid\network\admin\listener.ora
Listener
Log File
D:\apps\11.2.0\grid\log\diag\tnslsnr\racnodea\listener_scan1\alert\log.xml
Listening
Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\LISTENER_SCAN1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.133.125.145)(PORT=1532)))
Services
Summary...
Service
"mydbq" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
Service
"mydbq.apac.wdpr.disney.com" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
Service
"mydbqXDB" has 2 instance(s).
Instance "mydbq1", status READY,
has 1 handler(s) for this service...
Instance "mydbq2", status READY,
has 1 handler(s) for this service...
The
command completed successfully
|
No comments:
Post a Comment