Oracle - ¿cómo sé los usuarios conectados?

 
Vista:

¿cómo sé los usuarios conectados?

Publicado por Jose G. (4 intervenciones) el 17/08/2004 13:51:52
Hola:
Necesitaría saber qué usuarios están conectados a mi base de datos (Oracle 9i) y a qué tablas está accediendo en un determinado momento. ¿Guarda algún tipo de Log? ¿Guarda algún histórico? ¿Se puede hacer a través de alguna consulta SQL?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿cómo sé los usuarios conectados?

Publicado por Rodrigo Carrasco (26 intervenciones) el 17/08/2004 16:47:05
Con privilegios de dba puedes hacer un select a la tabla v$session. La mejor opción es usar una interfaz gráfica como el Oracle Enterprise Manager, en modo autónomo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿cómo sé los usuarios conectados?

Publicado por Jose G. (4 intervenciones) el 17/08/2004 17:45:36
¿Y cómo lo puedo hacer desde el Entrerprise Manager?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿cómo sé los usuarios conectados?

Publicado por Rodrigo Carrasco (26 intervenciones) el 18/08/2004 17:18:53
Te conectas como DBA y luego ubicas la opción "Instancias" --> "Sesiones" y enseguida aparece una lista de todas las sesiones (activas e inactivas) de tu BBDD. Aparecen con un ícono de enchufe eléctrico al lado izquierdo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿cómo sé los usuarios conectados?

Publicado por Jorge-DBA (123 intervenciones) el 19/08/2004 20:20:43
Activa tu auditoría en Oracle.

Pasos:

1) al init.ora agrega un parámetro llamado "Audit_trail =TRUE"
cierra y abre la base de datos.
(Si estas usando un spfile solo abrela con el PFILE=PATH\init.ora) y recrea el spifile).
2) realiza la siguiente sentencia, con algun usuario con privilegios de SYSDBA:

SQL> Audit session;

Listo tienes la auditoria de conexiones a la base de datos, incluso te audita las conexiones fallidas y existosas, asi como las desconexiones.

Todos los datos se almacenana en la tabla AUD$ y consultas la informacion con las vistas de Rendimiento de oracle "DBA" ejemplo DBA_AUDIT_SESSION

Te mando un Query para que lo mandes ejecutar una vez que tu auditoria esta activada:
COL OS_USERNAME FOR A15
COL TERMINAL FOR A10
COL STATUS FOR a12
COL CONECTADO FOR A20
COL DESCONECCION FOR A20
set lines 200

select os_username,username,terminal,decode(
returncode, '0','connectado','1005','sinpassword','1017','fallido',returncode) STATUS,
TO_CHAR(timestamp,'DD-MM-YYYY HH24:MI:SS') CONECTADO,
TO_CHAR(LOGOFF_TIME,'DD-MM-YYYY HH24:MI:SS') DESCONECCION
FROM DBA_AUDIT_SESSION
/

suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿cómo sé los usuarios conectados?

Publicado por Jorge-DBA (123 intervenciones) el 19/08/2004 20:21:25
Una vez activada tu auditoria si quieres revisar lo que han hecho los usuarios a los objetos puedes hacer una auditoria a los objetos.

SELECT 'AUDIT SELECT, INSERT, DELETE, UPDATE ON usuario_dueño_de_objetos.'||OBJECT_NAME|| ' BY ACCESS;'
FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OWNER = 'usuario_dueño_de_objetos'
/

y con el siguinete querie puedes visualizar que realizaron los usuarios en los objetos:

SELECT OS_USERNAME,USERNAME,TERMINAL,OWNER,OBJ_NAME,ACTION_NAME,DECODE
(RETURNCODE,'0','SUCCESS',RETURNCODE) ACCION,
TO_CHAR(TIMESTAMP,'DD-MM-YYYY HH24:MI:SS') TIEMPO
FROM DBA_AUDIT_OBJECT
/

Advertencia, cuida que la tabla AUD$ de sys no crezca demaciado, puede llegar al limite de storage tu disco si tienes como autoextend tu datafile de system.

Afectaría tu pereformance por las escrituras de Auditoria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar