2017-03-08 2 views
0

유휴 DB 세션이란 무엇입니까? 유휴 DB 세션을 종료하기 전에 조사해야 할 요소는 무엇입니까? 언제 해지 할 수 있습니까?유휴 DB 세션이란 무엇입니까? 이 세션을 언제 종료해야합니까?

+1

이전 세션을 종료 할 필요가 없습니다. PMON은 통과하고 정리해야하지만 꼭 필요한 경우 보류중인 트랜잭션이없고 상태가 v $ session에서 활성 상태가 아닌지 확인해야합니다. – mmmmmpie

+0

@mmmmmpie - 그렇게 확신하지 마십시오. 몇 주 동안 사용자 활동을 보지 못했던 IDE에서 실행되는 세션을 보았습니다. PMON이 우려하는 한 그 세션은 생방송이었다. – APC

+0

DB에 그들의 상태는 무엇입니까? 왜 그들이 활발히 활동할 수 있는지 조사를 해봤습니까? – mmmmmpie

답변

0

유휴 데이터베이스 세션은 연결되어 있지만 잠시 동안 아무 것도하지 않은 세션입니다. 이러한 연결 세션은 여전히 ​​메모리와 같은 리소스를 소비합니다. 기본적으로

유휴 시간의 허용 금액은 제한이 :

select * from dba_profiles 
where resource_time = 'IDLE_TIME'; 

DBA가 일련의 유휴 시간 제한을 정의하는 프로파일을 만들 수 있습니다. 해당 프로필을 할당받은 사용자는 그 게으름의 길이로 제한됩니다. 언젠가 PMON이 세션을 저격 할 것이다. 세션은 여전히 ​​연결되어 있지만 사용자가 다음에 시도 할 때 연결이 끊어 질 것이다.

데이터베이스가 기본 IDLE_TIME이 아닌 경우 비활성 세션은 계속 유지됩니다. 이것은 많은 것을 가지고 있지 않으면 문제가되지 않을 것입니다. 그리고 심지어는 사용자 교육 문제가 될 수도 있습니다 (IDE가 무엇이든 작업을 마친 후에는 연결을 끊습니다) 또는 응용 프로그램 연결의 버그 기준 치수.

은이 같은 쿼리를 실행할 수 있습니다 너무 많은 장기 유휴 세션이 있는지 여부를 확인하려면

select program, osuser, user, logon_time, last_call_et, sid, serial# 
from v$session 
where status = 'INACTIVE' 
관심의 열은 사용자가 마지막 점에서 아무것도 않았기 때문에 초 단위의 last_call_et입니다

세션. last_call_et이 큰 경우 (마일리지가 다를 수 있음) 해당 세션을 도용하는 것이 좋습니다. 그러나 일부 리소스를 확보해야 할 필요가있을 때만 정말 귀찮습니다.