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
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.
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
select
rtrim(upper(sys_context('USERENV','OS_USER'))) username,
rtrim(upper(sys_context('USERENV','TERMINAL'))) userterminal
from dual
Intenta con lo siguiente.
SELECT sys_context('USERENV', 'SESSION_USER') FROM dual;
SELECT sys_context('USERENV', 'SESSION_USERID') FROM dual;
logre solucionar concatenando directamente
user