Saltar al contenido

Cómo obtener la lista de SID de Oracle

Guillermo, parte de nuestro equipo, nos hizo el favor de redactar este escrito ya que controla muy bien dicho tema.

Solución:

Una mejor manera es, si tiene acceso a la máquina host y la instalación de Oracle es usar el comando: lsnrctl status. Esto funciona en máquinas Unix, Linux y Windows. El comando de estado le mostrará todos los oyentes (y sus SID asociados).

C:>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-JUN-2009 16:16:34
Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
Start Date                13-JUN-2009 12:04:14
Uptime                    2 days 4 hr. 12 min. 19 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:oracleXEapporacleproduct10.2.0servernetworkadminlistener.ora
Listener Log File         C:oracleXEapporacleproduct10.2.0servernetworkloglistener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC_FOR_XEipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkpadT61)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
   Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
   Instance "xe", status READY, has 1 handler(s) for this service...
Service "XE_XPT" has 1 instance(s).
   Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
   Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully

En el ejemplo anterior, puede conectarse a la base de datos XE utilizando Conect Strings XEXDB, XE_XPT o XE.

La respuesta corta es que necesita acceso al sistema operativo host:

Para Unix, ps -ef | grep pmon le mostrará uno o más procesos con nombres como ora_pmon_xxxxy xxxx es el nombre de la instancia.

En Windows, supongo que hay una firma similar en la lista de tareas.

En la práctica, esta información generalmente se la proporciona quien administra la base de datos cuando se crea su cuenta de conexión.

La pregunta se reduce a: qué ORACLE_SID o servicios son compatibles con el agente de escucha que se ejecuta en el host X puerto Y. Dependiendo de qué tan seguro esté configurado este agente de escucha, puede ver esto usando el comando lsnrctl de un cliente que tiene lsnrctl instalado. Para poder hacer esto, necesita una instalación del servidor Oracle en ese cliente. Cuando tengas eso puedes emitir

lsnrctl
set current_listener (description=(address=(host=X)(port=Y)(protocol=tcp)))
status

La configuración predeterminada del relleno del oyente de 10 g provoca el siguiente resultado: TNS-01189: el oyente no pudo autenticar al usuario

Esto se debe a que, desde 10g, el valor predeterminado de Oracle tiene la seguridad activada: autenticación del sistema operativo local, lo que significa que solo el usuario del sistema operativo local que inició el agente de escucha puede emitir comandos lsnrctl al agente de escucha. El oyente se negará a responder a cualquier otro usuario.

Comentarios y calificaciones del post

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *