sql >> Database >  >> RDS >> Oracle

Is er een manier om informatie te krijgen over de huidige sessie van gv$session in Oracle?

Probeer dit:

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

Aangezien je geïnteresseerd bent in de huidige sessie, moet de huidige sessie op de lokale instantie zijn (per definitie), dus gebruik V$SESSION in plaats van GV$SESSION . Ook is alles wat je nodig hebt AUDSID om uw sessie uniek te identificeren.

Als je een reden hebt waarom je echt moet GV$SESSION . gebruiken (kan me niet voorstellen waarom dat zou zijn), je zou dit in plaats daarvan kunnen doen:

SELECT SID, SERIAL#
    FROM GV$SESSION
    WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
      AND INST_ID = USERENV('Instance');

Ook een alternatieve manier om de SID . te krijgen van de huidige sessie is:

select sid from v$mystat where rownum=1;

Ik hoop dat dat helpt.



  1. Toegang krijgen tot de tabel van een andere gebruiker binnen een Oracle Stored Procedure

  2. Travis CI:FATAL:rol bestaat niet

  3. Hoe DEADLOCK op SQL Server te simuleren?

  4. Kan mysql niet verbinden met spring boot project