How to Define PDB Listeners With Different Ports In a Oracle database Multitenant


Create a listener and start it.

LISTENER_FUNEBS122 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = FUNEBS122-host)(PORT = 1522))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))

)

)

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_PDB_LISTENER=ON # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_PDB_LISTENER=SUBNET # line added by Agent



lsnrctl start LISTENER_FUNEBS122


Now connect to the PDB for which you are setting up listener.

SQL> alter session set container=PDB10;


Session altered.


SQL> show con_name


CON_NAME

--------

PDB10


Set listener_networks:

use the listener port and the hosname

SQL> alter system set listener_networks='(( NAME=net1)(LOCAL_LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=FUNEBS122-host)(PORT =1522)))))' scope=both;


System altered.


SQL> alter system register;


System altered.


Check the status of the listener:

lsnrctl status LISTENER_FUNEBS122



LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 27-MAY-2022 11:36:54


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


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=FUNEBS122-host)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias LISTENER_FUNEBS122

Version TNSLSNR for Solaris: Version 12.1.0.2.0 - Production

Start Date 27-MAY-2022 11:55:51

Uptime 63 days 23 hr. 41 min. 3 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /oracle/app/oracle/product/12.1.0/dbtest/network/admin/listener.ora

Listener Log File /oracle/app/oracle/diag/tnslsnr/FUNEBS122-host/FUNEBS122/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=FUNEBS122-host)(PORT=1522)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))

Services Summary...

Service "PDB10" has 1 instance(s).

Instance "FUNEBS122", status READY, has 2 handler(s) for this service...

The command completed successfully


lsnrctl service LISTENER_FUNEBS122


LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 27-MAY-2022 12:33:48


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


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=FUNEBS122-host)(PORT=1522)))

Services Summary...

Service "PDB10" has 1 instance(s).

Instance "FUNEBS122", status READY, has 2 handler(s) for this service...

Handler(s):

"D000" established:0 refused:0 current:0 max:1022 state:ready

DISPATCHER

(ADDRESS=(PROTOCOL=tcp)(HOST=FUNEBS122-host)(PORT=63970))

"DEDICATED" established:12 refused:0 state:ready

LOCAL SERVER

The command completed successfully



ADD THE BELOW TNS ENTRY:

PDB10 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = FUNEBS122-host)(PORT = 1522))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = PDB10)

)

)


Test the connectivity using tns service:

sqlplus sys/oracle@PDB10 as sysdba


SQL*Plus: Release 12.1.0.2.0 Production on Wed May 27 12:36:59 2022


Copyright (c) 1982, 2014, Oracle. All rights reserved.



Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics, Real Application Testing

and Unified Auditing options






If you like please follow and comment