INGRESAR

REGISTRARSE
Buscador

Visualizando las conexiones locales y los servicios en oracle

2024-04-05

En esta sesión vamos a estar viendo como visualizar las conexiones locales y los servicios.

Para esto tendremos abierta una pestaña donde estamos conectados al sqlplus con el usuario ¨USR1¨.

Consultar procesos a nivel de sistema operativo.

Lo primero que veremos será como consultar los procesos PGA de Oracle a nivel de sistema operativo. Para esto vamos a abrir la pestaña que tenemos a izquierda. En esta pestaña vamos a ejecutar los comandos como usuario estándar del sistema operativo.

Aquí vamos a escribir la siguiente línea:

  • ps -ef | grep LOCAL
  • De esta forma, estamos indicando que se muestren todos los procesos que contengan el texto ¨LOCAL¨.

Procedemos entonces a ejecutar la línea pulsando Intro.

Seguido podemos ver que se muestran dos procesos. De estos procesos uno pertenece a Oracle. Como vemos el nombre empieza con Oracle, y luego el nombre de la base de datos a la que pertenece, que en este caso es ¨ orlc1 ¨. Este proceso pertenece a la conexión hemos visto inicialmente, donde nos hemos conectado al sqlplus con el usuario ¨ USR1 ¨ de forma local. Es decir, cuando nos hemos conectado, Oracle nos ha creado un proceso servidor, que va a atender el sqlplus . Vemos además que el protocolo de la conexión es BEQ , que es el que se utiliza cuando la conexión es local.

Para ver mejor lo que acabamos de explicar, vamos establecer otra conexión. Para esto vamos a ir sobre la última pestaña. Aquí tenemos preparada la línea para conectarnos por el usuario Sys . Procedemos entonces a ejecutarla pulsando Intro. Listo, hemos establecido una nueva conexión.

Regresamos entonces a la primera pestaña, y ahora volvamos a consultar los procesos con la misma línea que hemos usado anteriormente. Para buscar la última línea ejecutada, podemos pulsar la flecha de dirección arriba. Para ejecutarla nuevamente pulsamos Intro.

Ahora tenemos la conexión que hemos visto antes, y además tenemos otra conexión Oracle, que pertenece a la conexión que acabamos de realizar de forma local, pero esta vez con el usuario Sys . Vemos que también usa el protocolo BEQ .

Si nos fijamos, entre los datos se muestra la hora en que se creó el proceso, de esta forma podemos diferenciarlos.

Consultar conexiones a nivel de vistas.

Para continuar, vamos a ver ahora como consultar las sesiones o conexiones existentes, pero esta vez a nivel de base de datos.

Para esto vamos a cambiar a la tercera pestaña en donde estamos conectados al sqlplus con el usuario Sys , cambiamos entonces pulsando Alt + 3.

Antes de continuar vamos a limpiar la consola ejecutando el comando ¨ clear screen ¨. La vista que vamos a usar para visualizar las sesiones en la base datos es ¨ v$session ¨.

Procedemos entonces a escribir:

  • select username, command, program from v$session;

De esta forma, estamos indicando que se nos muestren los usuarios, y los comandos o procesos que se están utilizando para acceder a la base de datos.

Al ejecutar la consulta nos arroja como resultado 49 registros. Esto significa que hay 49 sesiones o conexiones.

Recordemos que para Oracle todos los procesos que se conectan a la base de datos son conexiones. Por tanto, además de las conexiones que hemos establecido, también se muestran los procesos internos de Oracle.

Podemos ver también que se muestran los usuarios con los procesos asociados, vemos además que hay muchos procesos que no tienen usuarios, y no se muestra ningún usuario, todos estos procesos son procesos background.

Si ahora bajamos un poco, podemos ver el proceso de conexión del usuario sys al sqlplus, que sería la conexión que estamos usando ahora mismo.

Si bajamos un poco más, tenemos también el proceso de conexión del usuario ¨USR1¨ al sqlplus.

Hasta ahora hemos visto como ver la información asociadas a los procesos y conexiones, tanto a nivel de sistema operativo, como a nivel de vistas en la base de datos.

Consultar servicios.

Ahora veremos el tema de los servicios. Antes de continuar vamos a limpiar la terminal. Empezamos viendo como averiguar qué servicio tiene la base datos.

Para esto vamos a ejecutar la siguiente consulta:

  • select name, value from v$system_parameter where name=´service_names´;

Recordemos que la vista v$system_parameter contiene los parámetros del sistema, y el parámetro service_names contiene el nombre de los servicios de la base de datos.

Procedemos entonces a ejecutar la consulta. Vemos entonces que el nombre del servicio es ´orlc1´. Para entender mejor de donde sale el nombre del servicio vamos a proceder a consultar el nombre de la base de datos, para esto vamos a copiar la consulta que acabamos de ejecutar.

Procedemos entonces a seleccionarla, y la copiamos, después vamos y la pegamos, aquí borramos el parámetro ¨ service_names ¨, y ponemos ´ db_name ´. Al terminar pulsamos Intro,

Seguido podemos ver que el nombre de la base datos es orcl1 , y coincide con el nombre del servicio. Veamos ahora el dominio de la base de datos, para esto volvemos a pegar la consulta, pero esta vez cambiaremos el parámetro por ´ db_domain ´. Así que borramos, y tecleamos ´ db_domain ´.

Procedemos a ejecutar la consulta. Y vemos entonces que el dominio está vacío. Esto es porque aún no se ha configurado un dominio para la base de datos.

Como el nombre del servicio se compone del nombre de la base de datos, seguido del nombre del dominio, y en este caso el dominio está vacío. Es por esto que el nombre del servicio coincide completamente con el nombre de la base de datos.

Para más información