먼저 오라클입니다. 이걸하면 ...왜 저장 프로 시저가 영원히 실행 되겠지만 프로 시저의 코드는 자체적으로 빠르게 실행됩니까?
execute my_package.sp_execute_my_procedure('...', '...');
무한히 실행됩니다 (나는 밤새지나 가게합니다).
그러나 저장 프로 시저에서 코드를 가져 와서 pl/sql 익명 블록으로 치고 declare 키워드를 단일 커서에 놓고 실행하면 10 분 내에 완료됩니다. 얼마나 오래 걸릴지.
적어도 모든 코드를 게시하지 않고서는 누구도 이런 것을 본 적이 없습니까?
업데이트 : 좋아요, 그래서 내가 v $ session에서 선택했을 때 proc을 실행하는 중에 "UNKNOWN"blocking_session_status 이벤트가 "direct path write temp."와 함께 나타납니다.
나는 아직까지 의미하는 바를 지금까지 한 적이 거의 없다고 말할 수는 없다.
절차는 무엇입니까? 자물쇠 나 무언가를 무기한 기다릴 수 있습니까? –
proc에는 최소한 잠금 장치를 보유 할 요소는 없습니다. 그것은 기본적으로 큰 select를 가지고 있습니다. 그리고 나서 select의 각 행에 대해 전체 삽입을합니다. – Carter