Introduction: – We all know that The Oracle Listener is a process listening for incoming database connections. This process is only needed on the database server side. The listener is controlled via the lsnrctl utility. Configuration is done via the listener.ora file.In this article, we are going to setup listener for PDBS in Multitenant Database.
If you wish to setup listener for a particular PDB in the multi-tenant database, then follow as below.
Create a listener and start it.
LISTENER_DBATEST = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbatest-host)(PORT = 1573)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1573)) ) ) 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_DBATEST
Now connect to the PDB for which you are setting up the listener.
SQL> alter session set container=PDB1; Session altered. SQL> show con_name CON_NAME -------- PDB1
Set listener_networks:
use the listener port and the hostname
SQL> alter system set listener_networks='(( NAME=net1)(LOCAL_LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbatest-host)(PORT =1573)))))' scope=both; System altered. SQL> alter system register; System altered.
Check the status of the listener:
lsnrctl status LISTENER_DBATEST LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 26-APR-2017 11:36:54 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbatest-host)(PORT=1573))) STATUS of the LISTENER ------------------------ Alias LISTENER_DBATEST Version TNSLSNR for Solaris: Version 12.1.0.2.0 - Production Start Date 21-FEB-2017 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/dbatest-host/dbatest/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbatest-host)(PORT=1573))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1573))) Services Summary... Service "pdb1" has 1 instance(s). Instance "DBATEST", status READY, has 2 handler(s) for this service... The command completed successfully
lsnrctl service LISTENER_DBATEST LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 26-APR-2017 12:33:48 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbatest-host)(PORT=1573))) Services Summary... Service "pdb1" has 1 instance(s). Instance "DBATEST", 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=dbatest-host)(PORT=63970)) "DEDICATED" established:12 refused:0 state:ready LOCAL SERVER The command completed successfully
ADD THE BELOW TNS ENTRY:
PDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbatest-host)(PORT = 1573)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1) ) )
Test the connectivity using tns service:
sqlplussys/oracle@PDB1 as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Wed Apr 26 12:36:59 2017 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
With help of an article, you can know about Oracle 12c and connect to the database by using the listener. I would like to say thank you for your attention to the article.