대량의 데이터를 조회하는 쿼리문을 프로시저를 통해 생성하였습니다.
종종 10초면 조회 될 쿼리문이 아무리 기다려도 결과가 출력되지 않더라고요.......
출력되지 않을 때 Toad 에서 해당 쿼리문을 직접 질의하면 결과가 출력되는데
프로시저로 호출하면 응답없음처럼 시간만 흘러갑니다.
이런경우 동일한 내용으로 이름만 다른 프로시저를 생성 후 조회하면 결과값이 출력됩니다.
또한 이전의 응답없음상태의 프로시져까지 정상이 됩니다.
무엇을 어떤식으로 확인해야하는지 전혀 감이오지않아서 질문드립니다.
경험있으신 고수님의 답변 부탁 드리겠습니다.
풀패치가 아닌 일부 패치만 해서 빠른 것처럼 보이는 것인지,
락 정보를 조회하여 락을 걸고 있는 것인지 확인이 필요해보입니다.
--락 정보 조회 SELECT DISTINCT T1.OBJECT_ID, t1.session_id, t2.serial#, T2.SQL_ID, t1.os_user_name, t1.oracle_username, t2.status AS status, t3.object_name, DECODE( locked_mode, 2, 'ROW SHARE', 3, 'ROW EXCLUSIVE', 4, 'SHARE', 5, 'SHARE ROW EXCLUSIVE', 6, 'EXCLUSIVE', 'UNKNOWN' ) lock_TYPE, MACHINE, PROGRAM, TERMINAL, SQL_TEXT FROM V$LOCKED_OBJECT T1, V$SESSION T2, DBA_OBJECTS T3, V$OPEN_CURSOR T4 WHERE t1.session_id = t2.SID AND t1.object_id = t3.object_id AND T4.sql_id = T2.sql_id