Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: d91 en 16 Septiembre 2015, 15:01 pm



Título: capturar el nombre de usuario que hace un insert
Publicado por: d91 en 16 Septiembre 2015, 15:01 pm
hola a todos, estoy trabajando un proyecto en Oracle relacionado a transacciones, pero me piden que al realizar un insert, delete, update, guarde en una bitacora el nombre de usuario que lo realizo, tipo de operacion  y  la tabla que se realizo, pero no se si se hace con un select  a algunas de las tablas V$ de oracle o es al sistema en si, para capturar y meterlo en un cursor, agradezco su orientacion


Título: Re: capturar el nombre de usuario que hace un insert
Publicado por: 0roch1 en 16 Septiembre 2015, 15:57 pm
Utiliza Triggers.

Puedes crear una tabla "bitacora" y llevar el registro de tus movimientos (insert, update, delete) realizados en las diferentes tablas mediante el uso de Triggers (disparadores)

1. Investiga cómo funcionan.
2. Intenta realizarlo.
3. Si tienes dudas o problemas comenta.



Título: Re: capturar el nombre de usuario que hace un insert
Publicado por: d91 en 16 Septiembre 2015, 17:46 pm
si, lo de los log's ya esta, y mediante los trigger puedo saber sobre si es update, insert o delete, de lo que he investigado encontre una query, pero yo cree un usuario y me conecte, probe la query pero las credenciales que me salen son las de mi maquina,  y lo que necesito son las credenciales del usuario para deducir responsabilidades
Código
  1. SELECT
  2. rtrim(UPPER(sys_context('USERENV','OS_USER'))) username,
  3. rtrim(UPPER(sys_context('USERENV','TERMINAL'))) userterminal
  4. FROM dual


Título: Re: capturar el nombre de usuario que hace un insert
Publicado por: 0roch1 en 17 Septiembre 2015, 21:36 pm
Intenta con lo siguiente.

Código
  1. SELECT sys_context('USERENV', 'SESSION_USER') FROM dual;
  2.  

Código
  1. SELECT sys_context('USERENV', 'SESSION_USERID') FROM dual;
  2.  


Título: Re: capturar el nombre de usuario que hace un insert
Publicado por: d91 en 18 Septiembre 2015, 02:43 am
logre solucionar concatenando directamente
Código
  1. USER