728x90
반응형
1. 우선 재현이 될때 해당 scheduler job 에 대한 10046 event 를 수행할 필요가 있습니다.
1) 재현될 때 까지 기다려 주십시오.
2) 재현이 되면 다음으로 job process 의 service_name,module,action 를 확인해 주십시오.
select program,service_name,module,action from v$session where program like '%(J%'
여기서 dbms_scheduler 에서 수행되는 것이고 수행 중이라면
module 은 DBMS_SCHEDULER 로 표시되며, action 은 job 의 이름이 기록됩니다.
==
program: ORACLE.EXE (J002)
service_name: SYS$USERS
module: DBMS_SCHEDULER
action: TESTJOB1
==
3) 다음은 job 수행에 대한 내부 trace 를 남깁니다. scheduler job 내부 trace 입니다.
alter system set events '27402 trace name context forever, level 255';
4) 다음으로 위에서 확인된 scheduler job 에 대한 10046 event 를 활성화 해 주십시오. scheduler job 수행의 sql trace 입니다.
begin
dbms_monitor.serv_mod_act_trace_enable(service_name=>'SYS$USERS',
module_name=>'DBMS_SCHEDULER',
action_name=>'TESTJOB1');
end;
/
begin
dbms_monitor.serv_mod_act_trace_disable(service_name=>'SYS$USERS',
module_name=>'DBMS_SCHEDULER',
action_name=>'TESTJOB1');
end;
/
5) 재현이 되는 상태에서 hang analyzer 수행해 주십시오. (job running 상태)
oradebug setmypid
oradebug hanganalyze 4
6) 그 밖에 job 중지 등의 작업들도 해 주십시오.
7) 재현이 되지 않을때 위에서 설정한 event 및 trace 를 disable 해 주십시오.
alter system set events '27402 trace name context off';
8) 위 작업들을 마무리 한 후 scheduler job log 를 제공해 주십시오.
set mark html on
spool scheduler_job.html
select * from dba_scheduler_job_log where job_name='TESTJOB1' and log_date between <재현 1분전> and <재현 종료 1분 후>;
select * from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='TESTJOB1' and log_date between <재현 1분전> and <재현 종료 1분 후>;
spool off
728x90
반응형
'DBMS > Oracle' 카테고리의 다른 글
Oralce SYSAUX Tablespace 용량관리 (0) | 2022.07.20 |
---|---|
Oracle deadlock test (0) | 2022.07.20 |
Oracle ERP 유지보수 하던 시절에 사용하던 check스크립트 (0) | 2022.07.20 |
Oracle BLOB 데이터 파일로 추출 하기 (0) | 2022.07.20 |
explain plan 보기 (0) | 2022.07.20 |