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.