Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Existe alguma maneira de obter informações sobre a sessão atual do gv$session no oracle?


Tente isto:
SELECT SID, SERIAL#
FROM V$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID');

Como você está interessado na sessão atual, a sessão atual deve estar na instância local (por definição), então use V$SESSION em vez de GV$SESSION . Além disso, tudo o que você precisa é de AUDSID para identificar exclusivamente sua sessão.

Se você tiver algum motivo, você realmente precisa usar GV$SESSION (não consigo imaginar por que isso seria), você poderia fazer isso:
SELECT SID, SERIAL#
    FROM GV$SESSION
    WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
      AND INST_ID = USERENV('Instance');

Além disso, uma maneira alternativa de obter o SID da sessão atual é:
select sid from v$mystat where rownum=1;

Espero que ajude.