본문 바로가기

IT관련

오라클 에러 정보 (ORA-01013) - 사용자에 의한 작업취소 또는 Default Maintenance Job duration이 초과된 경우

Oracle Error Code 1013 은 사용자가 수행하던 작업을 Ctrl-C 등을 눌렀을때, 화면에서 자주 목격하게 되는 에러 코드입니다. 사실 에러코드라기 보다는 정보성 코드 입니다. 작업이 취소되었다는 ...

 

작업을 사용자가 취소하는 경우에도 매번 Alertlog 에 에러메시지를 남깁니다. 아래처럼...

 

 

하지만, AlertLog 에 아래와 같이 발생하는 경우는 좀 다를 수 있습니다.

 

 

이건 Default Maintenance Job 의 시간이 초과되어 작업이 취소되면서 Alertlog 에 ORA-01013 을 표시한 것입니다.

Default Maintenance Job 은 Autotask 라고도 하며, 통계정보를 자동으로 생성하거나, Tuning Advisor 가 튜닝을 위한 작업을 내부적으로 수행하는 것입니다.

 

참조 => 오라클 DB Autotask 와 Maintenance Window

 

 

Default Maintenance Job 스케쥴은 아래의 SQL로 확인할 수 있습니다.

 


SQL>
set linesize 200
col window_name for a20
col repeat_interval for a80
col duration for a20
select window_name, repeat_interval, duration from DBA_SCHEDULER_WINDOWS;

 

저의 경우는 월~금요일까지 4시간씩 수행되도록 세팅되어 있네요.

 

 

이 작업 스케쥴 윈도우(작업시간 구간)을 좀 늘려주면 ORA-1013 에러가 안날 겁니다.

아래와 같이 하면 특정 날짜의 작업 윈도우를 조정할 수 있습니다.

 


SQL>
BEGIN
  dbms_scheduler.disable(name => 'MONDAY_WINDOW');
  dbms_scheduler.set_attribute(name => 'MONDAY_WINDOW', attribute => 'DURATION', value=> numtodsinterval(6, 'hour'));
  dbms_scheduler.enable(name => 'MONDAY_WINDOW');
END;
/

 

위의 스크립트는 월요일 작업윈도우만 4 -> 6 시간으로 변경했습니다.

 

 

 

참고) 오라클 Alertlog 파일 분석 프로그램 다운로드