Obtener Identificador de conexión

En Oracle conozco ésta sentencia para obtener el identificador de la conexión actual (ó SID):
'select SID from v$mystat where rownum=1'. El problema que tengo es que dicha sentencia sólo puede ser ejecutada por un administrador de la base de datos, ¿hay alguna manera para que un usuario común conozca el SID que tiene asignado en una conexión?De antemano muchas gracias por tu ayuda. Felicidades.

1 respuesta

Respuesta
1
He estado mirando por todos los lados, por todas las vistas que conozco y algunas que no, y no veo como hacerlo sin necesidad de darle permisos sobre alguna vista del sistema.
Si no sabes como hacerlo coméntamelo y te digo como, pero entiendo que eso no es lo que quieres.
Hola experto, no sabía que fuera posible darle permisos al usuario para que consulte la vista sin necesidad de ser un DBA. Te agradecería mucho que me explicaras cómo hacerlo. Gracias! Tu ayuda es muy valiosa.
Lo mejor que puedes hacer es crear un rol, darle permisos para ver esa tabla al role y asignarle el rol a los usuarios, es mejor que darle permisos uno a uno.
Esto sería:
sql> create role estadisticas;
sql> grant select on v$mystat to estadisticas;
sql> grant estadisticas to user;
Así, si necesitas acceder a otra vista para hacer algo más a las mismas personas con darle permisos al rol tienes.
Ok, muchas gracias Tauriton, afortunadamente en nuestro esquema manejamos un rol con el cual acceden todos los usuarios a la aplicación, por lo tanto ésta solución es perfectamente viable! Felicidades

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas