기본적으로
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)