oracle 11g 입니다.
OLTP 환경이며, 예를들어 소요시간이 오래 걸리는 SQL은 아예 DBMS 에서 connection을 끊어버릴 수
있는 방법이 있을까요 ?
예를 들어 시간을 60초로 지정해 두고 .. 60초 지나도 결과 안나오는 SQL이 돌고 있는 session 은 kill 해버리는 ...
수동으로 세션 찾아서 하는 방법 말구요.. ^^
그럼 감사합니다..
보통은 WAS에 말씀하신 기능이 있을겁니다.
오라클 자체적으로는 profile 을 통해서 옛날부터 가능했습니다.
profile의 경우 초단위로 지정하는 것은 없고... DBMS Call당 CPU 사용량이나 Logical Reads등으로 제약을 가할 수 있습니다.
즉, 쿼리에서 10000블록 이상 읽지 못하게 하거나., CPU를 몇 초 이상 점유하지 못하도록 하거나...
Profile 은 기본적인 수준만 제공하고 더 상세하게 리소스를 제약을 가하려면 리소스매니저라는게 있습니다.
관련 기능은 오라클 메뉴얼을 찾아보시기 바랍니다.
답변 넘 감사드립니다... ^^
예전에 PHP에서 설정하는 걸 구경한적이 있기는 한데 session kill 까지는 아니고
작업취소(?) 정도였던거 같습니다.(제한시간 120초로 걸어서 그 안으로 응답없으면 안내메세지 출력...)
60초 지나도 결과 안나오는 session의 kill 은 status가 active로 유지될거 같아서
profile 설정으로 가능할지는 모르겠습니다.