본문 바로가기

ORACLE

오라클에서 현재 연결되어 있는 session 확인

기본적으로

system 계정으로 접속 후

SELECT * FROM v$session
을 보면 현재 연결되어있는 모든 세션을 볼 수 있다..


현재 active상태인 것과 inactive상태인것을 확인하려면ㅇ

SELECT status,COUNT(*) FROM v$session
WHERE username=?
GROUP BY status


애플리케이션에서 설정되어있는 최대 connection 갯수가


저 위 두개의 합보다 적을 경우에


문제가 발생 할 수 있다..


inactive상태의 세션을 일정 시간이 지난 후 제거할 수 있도록 설정 할 수 있는데


ALTER SYSTEM SET RESOURCE_LIMIT =TRUE;

CREATE PROFILE [Profile name] LIMIT
       IDLE_TIME [M분];

ALTER USER [ORG_USERNAME]
PROFILE [NEW_PROFILE_NAME];



으로 설정 후

아래와 같이 확인해보자

SELECT * FROM DBA_PROFILES
WHERE PROFILE = [NEW_PROFILE_NAME];


SELECT USERNAME,PROFILE FROM DBA_USERS;


conn user/pw

 SELECT * FROM USER_RESOURCE_LIMITS;



참고로

ALTER SYSTEM SET RESOURCE_LIMIT =TRUE;


이부분은 오라클이 재구동되면 없어지는 설정이므로

영구하게 설정을 하고 싶을때에는


init<SID>.ora파일에 설정을 해놓아야하며


위의 설정대로 작업을 할 경우 오라클 재구동은 필요없다.



원래상태 복구

drop profile 아까 준 그 이름(NEW_PROFILE) 옵션(CASCADE)