Spróbuj tego:
SELECT SID, SERIAL#
FROM V$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID');
Ponieważ interesuje Cię bieżąca sesja, bieżąca sesja musi znajdować się na lokalnej instancji (z definicji), więc użyj V$SESSION zamiast GV$SESSION . Wszystko czego potrzebujesz to AUDSID aby jednoznacznie zidentyfikować Twoją sesję.
Jeśli masz jakiś powód, naprawdę musisz użyć GV$SESSION (nie potrafię sobie wyobrazić, dlaczego tak by było), możesz to zrobić:
SELECT SID, SERIAL#
FROM GV$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
AND INST_ID = USERENV('Instance');
Również alternatywny sposób na uzyskanie SID bieżącej sesji to:
select sid from v$mystat where rownum=1;
Mam nadzieję, że to pomoże.