これを試してください:
SELECT SID, SERIAL#
FROM V$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID');
現在のセッションに関心があるため、現在のセッションは(定義上)ローカルインスタンス上にある必要があるため、V$SESSION
を使用します。 GV$SESSION
の代わりに 。また、必要なのはAUDSID
だけです セッションを一意に識別するため。
何らかの理由がある場合は、本当に GV$SESSION
を使用する必要があります (なぜそうなるのか想像できません)、代わりにこれを行うことができます:
SELECT SID, SERIAL#
FROM GV$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
AND INST_ID = USERENV('Instance');
また、SID
を取得する別の方法 現在のセッションの内容は次のとおりです。
select sid from v$mystat where rownum=1;
お役に立てば幸いです。