Extraer el Nombre de Maquina del regedit

Un gran favor
Como se puede determinar el nombre de la terminal que aparece en el regedit a través de un Pakage almacenado en la base de datos.
Lo que pasa es que necesitamos auditar las tareas que se hacen en cada terminal, intentamos extraer la terminal de v$session pero tenemos un inconveniente e cuando el usuario se conecta en más de una terminal. Si le colocamos el max(terminal) nos reporta la ultima que se conecta.
Como lo podríamos Solicinar.

1 Respuesta

Respuesta
1
No termino de entender que es lo que quieren hacer, pero el nombre del terminal aparece claramente en el v$session.
Si pones max(terminal) el va a devolver el terminal con valor ascii más alto, es decir, si lo que quieres es que aparezcan todas las sesiones de usuarios sea del terminal que sea pon terminal y no max terminal.
Si es otra cosa lo que quieres explicate un poco mejor.
Lo que necesitamos es:
Que cuando un usuario este conectado en más de una terminal, poder determinar en cual de ellas esta realizando la transacción por ejemplo:
El usuario TRABAJO esta conectado en la TERMINAL1 y la TERMINAL2 a la base de datos, en la terminal 1 y 2 están trabajando funcionarios diferentes con el mismo usuario de la base de datos
quiero auditar los insert, delete y update que se hagan en cada terminal.
La vista v$session me reporta todas la conexiones de la base de datos que tienen los usuarios por ejemplo:
select terminal from v$session
where USERNAME='ALCALDIA'
Terminal
----------------
Jaime
Hacienda
Como puedes observar el usuario ALCALDÍA esta conectado en la terminal JAIME Y HACIENDA si le coloco max(terminal)
select max(terminal) from v$session
where USERNAME='ALCALDIA';
max(terminal)
----------------
Jaime
En esta ocasión me reporta la ultima terminal conectada.
Lo anterior no nos permite realizar un rastreo seguro de las transacciones hechas en cada terminal.
Necesitamos extraer del regedit de la maquina donde se esta trabajando el nombre de dicha maquina con el fin de tener origen real de la transacción.
Tienes otra columna en v$session que es machine, que te dice la maquina donde esta conectada la sesión.
Además tienes la columna osuser, que te da el usuario de sistema operativo, lo cuál te da más información para rastrear quien está haciendo que en la base de datos.
La query sería algo como:
Select terminal,machine,osuser
from v$session
where username='ALCALDIA';
Si no es eso lo que te hace falta vuelve a preguntar que te respondo.
Muchas gracias la encontramos la forma de determinar la terminal exacta de la conexión aún cuando el mismo usuario tenga más de una conexión.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas