by jjdes [Oracle Tuning] oracle lock [2020.07.08 20:33:58]
최근 db 환경이 변경되었는데 변경 전 잘 수행되던 쿼리들이 중지현상이 발생하네요.
-쿼리
insert into table01 ( a, b) select a, b from table02;
update table03 y set y.a= "ok" where y.b in ( select c.b from table04 x where x.c is not null);
예시로 올린 위 두 쿼리처럼 다른 임시 테이블에서 다량의 데이터를 조회해서 사용하고자 하는 테이블에 insert 및 update를 하는 쿼리입니다. 특정 쿼리는 join 수행시 같은 증상이 발생하며 join없이 단일 테이블로 작업을 하면 정상적으로 수행됩니다.
해당 증상 발견 후 테스트 할 때는 lock걸린 세션에 대하여 kill하고 작업을 하였습니다.
쿼리 자체는 db환경 변경 전과 후 동일하며 해당 쿼리 수행시 작업 상태에서 table01 03에 대하여 lock이걸리고 작업은 그상태로 멈추게 됩니다.
작업하기 위한 공간이 부족하여 그런것인지..
어떠한 환경이 변경되면 이런 현상이 나타날수 있는지 조언 부탁드립니다.