[ORA - 01013] 사용자가 현재 작업의 취소를 요청했습니다. 0 6 18,338

by 현아남푠 [SQL Query] 쿼리 [2016.02.02 14:45:02]


안녕하십니까, 현아남푠입니다.

데이터 조회 시 제목과 같은 에러 팝업이 발생합니다..

조회 할 데이터의 양이 많을 시 쿼리 타임아웃에 의해 발생하는 알람으로 알고있는데..

데이터가 적어도( 약 600건 ) 발생을 합니다.. 신기한건 여러번 시도하다가 조회가 한번 되고나면

그 이후는 같은 쿼리문의 조회 기간을 길게하고 데이터가 많아도( 약 3만건 ) 조회가 잘 됩니다..

왜 처음 시도할때는 조회가 안되고 한번 성공하면 그 이후로는 잘되는지 이유를 알고싶고...

여러번 시도안하고 한번에 조회 잘 되는 방법을 알고싶습니다.. 도와주십시오!!

 

문제발생 쿼리문

select  p.PU_ID, to_char( p.RPT_DATE, 'mm/dd hh24:mi:ss' ) RPT_DATE, p.RPT_PERIOD , p.SVC_BS, 
nvl( e.EQUIP_NAME, 'Unknown' ) EQUIP_NAME , p.POS_X, p.POS_Y, p.PU_BIT, p.CONN_STATUS, p.MOD_USER 
from  TBL_DEV_HIST_PU p, TBL_EQUIPMENT_INFO e 
where  p.DRILL_ID = 736 and p.PU_ID = 3301
and p.SVC_BS = e.EQUIP_ID(+)  
and to_date( '2016-01-18 11:46:26', 'yyyy-mm-dd hh24:mi:ss' ) <= p.RPT_DATE  
and to_date( '2016-01-25 10:23:51', 'yyyy-mm-dd hh24:mi:ss' ) >= p.RPT_DATE  
order by p.RPT_DATE  asc

 

요약)

1. 데이터 조회 쿼리 시 ORA-01013 알람발생

2. 여러번 시도 후 한번 성공하면 그 이후로는 조회 잘됨. 조회시간도 빠름.

by 신이만든짝퉁 [2016.02.02 15:57:06]

1. 쿼리 실행도중 Ctrl + C 같은 명령어로 중단시키지는 않았는지

2. 어플리케이션에서 동작시킨 거라면, Session timeout 설정이 동작중이지 않은지

확인해 보시기 바랍니다.

2번의 경우라면, 세션타임아웃 설정이 몇 초인지 확인하고, 해당 쿼리를 튜닝하여 쿼리 실행시간을 줄이거나 세션타임아웃 설정시간을 늘리면 해결될 문제로 보입니다.

질문 하신 내용 중 한번 성공후에 결과 조회가 빠른 이유는 메모리 상에 데이터가 캐싱된 상태이기 때문입니다. 이 후 메모리에서 데이터가 밀려나면 마찬가지로 시간이 오래걸릴 것으로 예상됩니다.


by 현아남푠 [2016.02.03 16:58:42]

답변 감사드립니다.

혹 타임아웃 설정을 어디서 하는지 여쭤봐도 될까요??


by jkson [2016.02.02 16:03:13]

쿼리 결과 가지고 오는데 정해놓은 시간보다 오래 걸려서 커트 당한 거 같네요.

조회 기간을 늘여도 빠르게 조회가 잘되신다는 거 보면

rpt_date 컬럼관련 인덱스가 없거나 다른 인덱스를 타거나 혹은 풀스캔하거나 하는

문제가 있을 것 같네요.

쿼리 튜닝 가능한지부터 확인해보세요.


by 현아남푠 [2016.02.03 16:59:56]

네 답변 감사드립니다.

튜닝 가능한지 체크해봐야겠네요..ㅠㅜ


by 아발란체 [2016.02.02 16:12:26]

실행 계획을 올려주세용~ :) 속도 빠른 것은 메모리 올라가서 빠른 것 같습니다.


by 현아남푠 [2016.02.03 17:06:21]

Explain Plan
-------------------------------------------------
SELECT STATEMENTcost estimate:85207
 SORT ORDER BY
   HASH JOIN OUTER
     TABLE ACCESS BY INDEX ROWID:XXXXX,,,,,,TBL_DEV_HIST_PU(1)
        INDEX RANGE SCAN:XXXXX,,,,,,PK_TBL_DEV_HIST_PU
     TABLE ACCESS FULL:XXXXX,,,,,,TBL_EQUIPMENT_INFO(2)
6개의 행이 선택되었습니다.

 

답변 감사드립니다. 실행계획은 위와 같습니다..

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입