これを試してください:
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;
お役に立てば幸いです。