A partir de la de versión 8i, no es necesario registrar los servicios de BD en el fichero listener.ora, las BD se pueden registrar automáticamente.
Esta funcionalidad funciona perfectamete si tenemos el listener en el puerto 1521 (por defecto), si realizamos un cambio de puerto no hay forma de conectarnos a la BD. Esto ocurre porque el valor de la parámetro LOCAL_LISTENER que por defecto es:
LOCAL_LISTENER='(ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=1521))'
Aunque si hacemos un:
SHOW parameters LOCAL_LISTENER;
Aparece vacío.
Si cambiamos el puerto del listener hay que cambiar esto, por ejemplo el 1522:
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=1522))';
Y registrar la BD de nuevo (algo que se puede omitir porque cada 10 minutos lo hace automáticamente):
ALTER SYSTEM REGISTER;
Ahora podemos ver que está correctamente registrado (en READY lo registrado automáticamente):
[oracle@clu01 admin]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2011 14:21:14
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=clu01)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 26-OCT-2011 14:16:30
Uptime 0 days 0 hr. 4 min. 44 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.1.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.1.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=clu01)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PRUEBA" has 1 instance(s).
Instance "PRUEBA", status READY, has 1 handler(s) for this service...
Service "PRUEBAXDB" has 1 instance(s).
Instance "PRUEBA", status READY, has 1 handler(s) for this service...
Service "PRUEBA_XPT" has 1 instance(s).
Instance "PRUEBA", status READY, has 1 handler(s) for this service...
The command completed successfully
El registro de la BD en el listener se produce al arranca la BD y se actualiza automáticamente cada 10 minutos.
Juan Carlos, muchas gracias.
me fue de mucha ayuda esta información.