sql >> Database teknologi >  >> RDS >> Oracle

Er der nogen måde at få information om den aktuelle session fra gv$session i oracle?

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.



  1. MySQL Vælg efter nyeste tidsstempel

  2. Regex for at fjerne sortlistede ord fra en sætning

  3. MYSQL + PHP for at vise data fra to rækker som en enkelt kolonne

  4. MySQL returnerer første og sidste rekord for på hinanden følgende identiske resultater