SYS_CONTEXT 에 USERENV('SESSIONID') 문의드립니다. 0 1 119

by lgxj [Oracle 기초] [2021.04.05 14:39:22]


SYS_CONTEXT 에 USERENV('SESSIONID') 문의드립니다.

서버에서 실행이 되게되면 USERENV('SESSIONID') 이게 모든 사람이 동일할까요? 

로그인한 사람의 식별 할수 있는 걸로 사용하려고 했는데 이게 가능할까요??

by 뉴비디비 [2021.04.06 20:25:44]

SESSIONID 는 인스턴스 기준이라 인스턴스가 변경되거나 다중일 경우 고유식별이 안될 수 있어서,
현재 세션의 고유한 계정값은 USERID 로 보셔야 맞을 것 같습니다. 

SELECT 
	SYS_CONTEXT('USERENV','SESSION_USERID') AS current_Userid 
	, SYS_CONTEXT('USERENV','SESSIONID') AS session_ID
FROM DUAL; 

자세한 접속 정보는 v$session 으로 확인 하실 수 있습니다. 

SELECT 
    * 
FROM v$session 
WHERE AUDSID = SYS_CONTEXT('USERENV','SESSIONID') AND USER# = SYS_CONTEXT('USERENV','SESSION_USERID');
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입