Creare un Listener Statico
Creiamo un listener statico ad esempio associato ai pluggable database e che risponde sulla porta 1525.
Occorre modificare il file listener.ora che è il file (da configurare lato server) responsabile della ricezione delle richieste del client.
Questi sono i nostri pdb:
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
5 PDBTEST MOUNTED
Apriamo il pdb in stato mount.
SQL> alter session set container=pdbtest;
SQL> alter pluggable database pdbtest open;
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
5 PDBTEST READ WRITE NO
Aggiungiamo all'inizio del file listner.ora queste righe:
LISTENER_PDBS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.com)(PORT = 1525))
)
SID_LIST_LISTENER_PDBS=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=ORCLPDB.COM)
(SID_NAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/18/db_1)
)
(SID_DESC=
(GLOBAL_DBNAME=PDBTEST.COM)
(SID_NAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/18/db_1)
)
)
Il valore dei parametri è estratto da questi comandi:
SQL> show parameter instance_name
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string orcl
SQL> alter session set container=orclpdb ;
SQL> show con_name
CON_NAME
------------------------------
ORCLPDB
SQL> select * from GLOBAL_NAME;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCLPDB.COM
oppure
SQL> show parameter service
NAME TYPE VALUE
-----------------------------------------------------------
service_names string orcl.com
Avviamo il listener usando l'utility lsnrct
[oracle@test admin]$ lsnrctl
LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 08-SEP-2020 13:26:17
Copyright (c) 1991, 2018, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start LISTENER_PDBS
LSNRCTL> status LISTENER_PDBS
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1525)))
STATUS of the LISTENER
------------------------
Alias LISTENER_PDBS
Version TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date 08-SEP-2020 13:26:54
Uptime 0 days 0 hr. 0 min. 25 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/18/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/test/listener_pdbs/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.com)(PORT=1525)))
Services Summary...
Service "ORCLPDB.COM" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "PDBTEST.COM" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
Effettuamo una connessione col metodo "easy connect"
[oracle@test admin]$ sqlplus sys/xxxxx@test.com:1525/orclpdb.com as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Tue Sep 8 13:29:47 2020
Version 18.3.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
SQL> show con_name
CON_NAME
------------------------------
ORCLPDB
[oracle@test admin]$ sqlplus sys/xxxxx@test.com:1525/pdbtest.com as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Tue Sep 8 13:31:45 2020
Version 18.3.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
SQL> show con_name
CON_NAME
------------------------------
PDBTEST
Il lisnter può essere anche creato usando il tool netca.