Creare un Listener Dinamico

 1) Modificare il file tnsnames.ora e aggiungere un nuovo listener

LISTENER2 =
(ADDRESS = (PROTOCOL = TCP)(HOST =test.com)(PORT = 1527))

LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST =test.com)(PORT = 1521))

ORCL=
(DESCRIPTION=
       (ADDRESS=
           (PROTOCOL=TCP)
            (HOST=test.com) 
            (PORT=1521))
             (CONNECT_DATA=
            (SERVER=dedicated)
            (SERVICE_NAME=orcl.com))
         )

2) Modificare il file listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/18/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER2 =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = test.com)(PORT = 1527))
    )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = test.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
LOG_DIRECTORY_LISTENER=/u01/app/oracle/product/18/db_1/network/log


3) Modificare il parametro di sistema:

SQL> alter system set local_listener="LISTENER_ORCL ,LISTENER2";

SQL> show parameter local_listener

NAME TYPE               VALUE
------------------------------------ ----------- -----------------------------------------
local_listener string                LISTENER_ORCL ,LISTENER2

Collegarsi al listener e avviarlo

[oracle@test admin]$ lsnrctl

LSNRCTL> start listener2
LSNRCTL> status listener2
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1527)))
STATUS of the LISTENER
------------------------
Alias                     listener2
Version                   TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date                04-SEP-2020 15:34:01
Uptime                    0 days 0 hr. 47 min. 18 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/listener2/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.com)(PORT=1527)))
The listener supports no services
The command completed successfully

Se il listerner non dovesse riconoscere i servizi allora usare la stringa di connesione completa invece del data entry.

SQL> alter system set local_listener="(ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1521)),(ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1527))";

SQL> show parameter local_listener
NAME  TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1521)),                                                         (ADDRESS= (PROTOCOL=TCP)(HOST=test.com)( PORT=1527))

  • Verifica che i serivizi sono agganciati al listener.

LSNRCTL> status listener2
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test.com)(PORT=1527)))
STATUS of the LISTENER
------------------------
Alias                     listener2
Version                   TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date                04-SEP-2020 16:30:14
Uptime                    0 days 0 hr. 8 min. 56 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/listener2/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.com)(PORT=1527)))
Services Summary...
Service "64a52f53a7683286e053cda9e80aed76.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "ae3ed9ec84541fb8e053c58e670ab441.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "ae66f6c2b4ea71d2e053c68e670afc09.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclpdb.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "pdbtest.com" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

  • Verifica di connessone col metodo "Easy Connect"
[oracle@test admin]$ sqlplus / as sysdba

SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL> conn system/xxxxxxx@test.com:1527/orcl.com
Connected.
SQL> conn system/xxxxxxx@test.com:1521/orcl.com
Connected.
SQL> conn system/so12mee0@test.com:1527/orclpdb.com
Connected.
SQL> show con_name

CON_NAME
------------------------------
ORCLPDB


E' possibile creare il lister usando il tool NETCA



Cliccando su Listerner configuration viene modificato il file listener.ora.








Cliccare su Finish.

Il file listener.ora contiene la seguente stringa di connessione:

LISTENER_3 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = test.com)(PORT = 1522))
    )
  )

Partendo da questa si può definire il listener statico  e dinamico.


Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database