Prøv dette:
SELECT SID, SERIAL#
FROM V$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID');
Da du er interesseret i den aktuelle session, skal den aktuelle session være på den lokale instans (per definition), så brug V$SESSION
i stedet for GV$SESSION
. Alt du behøver er også AUDSID
for entydigt at identificere din session.
Hvis du har en eller anden grund, er du virkelig skal bruge GV$SESSION
(kan ikke forestille mig hvorfor det skulle være), du kunne gøre dette i stedet:
SELECT SID, SERIAL#
FROM GV$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
AND INST_ID = USERENV('Instance');
Også en alternativ måde at få SID
på af den aktuelle session er:
select sid from v$mystat where rownum=1;
Håber det hjælper.