본문 바로가기
반응형

Lock4

[Tibero] Error (TBR-12033) : Lock acquisition failed in nowait mode Tibero 사용중 Error (TBR-12033) : Lock acquisition failed in nowait mode 에러가 발생하였다. 해결방법은 lock 걸린 트랜잭션을 종료 시킨다. 내용은 아래 참고 포스팅 참고 바란다. 그리고 또한가지 특별한 케이스가 있었는데, 동료 개발자와 각각 피시에서 로컬로 띄우고 동일한 테이블을 바라보고 있었다. 하나의 세션을 종료 시키니 해결이 되었다. 참고 포스팅 https://thenicesj.tistory.com/762 [Oracle / Tibero] Lock 걸린 테이블 확인 불특정한 다양한 이유로 Database는 Lock이 걸릴수 있고, 만약 그 Lock 이 DeadLock일 경우에는 멈춰버리는 상황이 생겨 최악으로는 프로세스를 내렸다가 다시 실행해야하.. 2024. 3. 30.
[Mysql] Lock wait timeout exceed 동일한 쿼리에 대해서 여러번을 수행하는데 상황에 따라 Lock wait timeout exceed 가 발생하기도 하고 잘 수행 되기도 했다. 문제의 이유는 트랜잭션 수행 시간이 길어서 발생하였다. 일반적으로 Lock timeout이 발생하는 것은 단일 트랜잭션의 수행 시간이 오래 걸리기에 발생한다. 특히 배치성 작업은 트랜잭션 수행 시간에 특히 주의해야 하고, 만일 트랜잭션 수행 시간이 길다면 트랜잭션을 분리하는것을 권고한다. 해결책은 아래와 같다. 현재 Timeout 시간 확인 SELECT @@innodb_lock_wait_timeout; 원하는 시간으로 설정 SET GLOBAL innodb_lock_wait_timeout = 20; 2024. 3. 23.
[Mysql] Lock 확인 및 해제 여러 쿼리를 반복 , 여러번 수행하다 보면 dead lock 이 걸릴때가 있다. 이럴때는 직접 해결해주지 않고서는 쉽지 않게 풀린다. 찾는 방법은 간단하다. Lock 확인 SHOW PROCESSLIST; //이건 100개만 나오고 전체를 나오게 하려면 SHOW FULL PROCESSLIST; 그럼 이와같이 보인다. Kill kill하는 방법 역시 간단하다. process 의 id를 해주면 된다. KILL 255; 2024. 3. 20.
[Oracle / Tibero] Lock 걸린 테이블 확인 불특정한 다양한 이유로 Database는 Lock이 걸릴수 있고, 만약 그 Lock 이 DeadLock일 경우에는 멈춰버리는 상황이 생겨 최악으로는 프로세스를 내렸다가 다시 실행해야하는 상황이 생길수도 있다. 다시 실행하면 그만이 아닌 어떤 쿼리에서 어떤 이유로 , 왜 락이 걸렸는지 등등 확인해봐야한다. 아래 쿼리를 참고 하면 된다. 락 걸린 테이블 확인 select * from v$locked_object vo , dba_objects do where vo.object_id = do.object_id; 장기실행 또는 락걸린 SQL 확인 select distinct vo.session_id ,vss.serial# ,do.object_name ,vss.machine ,vss.terminal ,vss.pro.. 2023. 11. 26.
반응형