ORA-0 에러가 AlertLog에 보인다면, 이건 사용자 profile에 IDLE_TIME 이 세팅되어 있는 것입니다.
이 IDLE_TIME 이 지나도록 세션이 아무일도 안하고 Inactive 상태로 있으면, PMON 에 의해서 강제로 Kill 됩니다.
이때 AlertLog 에 ORA-0 에러를 기록하는 것이죠.
AlertLog에 나타나는 에러는 아래와 같은 형태입니다.
KILL SESSION for sid=(382, 30780):
Reason = profile limit idle_time
Mode = KILL SOFT -/-/-
Requestor = PMON (orapid = 2, ospid = 2961, inst = 1)
Owner = Process: USER (orapid = 164, ospid = 26147)
Result = ORA-0
IDLE_TIME 은 Profile 에 세팅되어 있는데, 아래 SQL로 확인이 가능합니다.
SQL>
select PROFILE
, RESOURCE_NAME
, RESOURCE_TYPE
, LIMIT
, COMMON
from dba_profiles
where profile = 'DEFAULT'
order by 1,2;
PROFILE RESOURCE_NAME RESOURCE LIMIT COM
-------------------- -------------------------------- -------- ------------------------------ ---
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED NO
DEFAULT CONNECT_TIME KERNEL UNLIMITED NO
DEFAULT CPU_PER_CALL KERNEL UNLIMITED NO
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED NO
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 NO
DEFAULT IDLE_TIME KERNEL 15 NO
15분으로 세팅되어 있네요.
이걸 바꾸려면 아래처럼..
SQL> alter profile default limit idle_time UNLIMITED;
다시 조회해 보면, 바뀐 것을 확인할 수 있습니다.
PROFILE RESOURCE_NAME RESOURCE LIMIT COM
-------------------- -------------------------------- -------- ------------------------------ ---
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED NO
DEFAULT CONNECT_TIME KERNEL UNLIMITED NO
DEFAULT CPU_PER_CALL KERNEL UNLIMITED NO
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED NO
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 NO
DEFAULT IDLE_TIME KERNEL UNLIMITED NO
DEFAULT 프로파일을 사용하고 있다고 가정한 경우입니다. (대부분 건들지 않았으면 DEFAULT ... )
만약 특정 사용자가 다른 프로파일을 쓰고 있다면, 그걸 바꿔줘야 겠죠~~
'IT관련' 카테고리의 다른 글
오라클 에러 정보 (ORA-28) - 이미 Kill 된 세션을 접근하려고 할 때 발생하는 (0) | 2019.06.06 |
---|---|
오라클 ADW 클라우드 데이터베이스에 대한 나름 간단정리 (0) | 2019.06.06 |
오라클 에러 정보 (ORA-27, ORA-30) - Session Kill 할때 발생하는 (0) | 2019.06.05 |
DVDesktop 에서 Oracle Database 접속하는 방법 (0) | 2019.05.28 |
Oracle 무료 데이터베이스 Oracle XE (Express Edition) (0) | 2019.05.28 |