본문 바로가기

Lock4

postgressql lock 조회 및 해제 postgressql lock 조회 및 해제 1. 현재 테이블의 LOCK 상태인 쿼리 확인 select t.relname,l.locktype,page,virtualtransaction,pid,mode,granted from pg_locks l, pg_stat_all_tables t where l.relation=t.relid order by relation asc; 현재 테이블의 lock을 확인한다. 이미 해당 쿼리를 조회하는 것이면, 전후 사정에 대한 이해도가 있기때문에 확인시 대략적으로 이놈이 문제구나 하는 쿼리를 찾을수 있었다. 여기서 pid를 확인하고 아래로 넘어가 해당 쿼리 session을 kill 할수 있다. 2. 해당 작업을 kill --PID 죽이기 select pg_cancel_backe.. 2022. 8. 23.
Oracle - 테이블 잠김 풀기, 테이블 락 해제, table lock Oracle - 테이블 잠김 풀기, 테이블 락 해제, table lock oracle table lock 문제가 발생해서 문제가 발생한적은 개발자라면 한번씩은 있을거라고 생각한다. 일반적으로 system 과 같은 관리자 권한이 있으면 바로 확인 및 조치 할수 있으니 아래 내용을 참고 하도록 하자. 먼저 LOCK이 걸린 session을 조회 하도록 한다. 참고 : system 권한으로 로그인 필수 1. 테이블 LOCK 조회 select * from dba_dml_locks; 아래와 같은 LOCK 에 걸린 테이블의 session_id, owner, name 과 같은 전반 적인 정보를 얻을수 있다. 2. lock에 걸린 테이블 sid 조회 select sid, serial# from v$session wher.. 2022. 3. 16.
postgreSQL 쿼리중지, 테이블 lock, 작업중지, CPU100% postgreSQL 쿼리중지, 테이블 lock, 작업중지, CPU100% postgreSQL 에서 쿼리 수행시에 정상 수행이 되지 않고, backend에서 계속 수행중으로 남아 있는 케이스가 발견됬다. 테이블은 lock상태로 들어가며, 조회가 계속 안되고 수행 쿼리가 지속적으로 쌓이면서 문제가 발생했다. DB서버의 CPU를 확인해보니 98%가량 점유율이 올라가 있었으며, 어플리케이션의 수행 속도 또한 서비스하기 힘든 상태로 느려져 있었다. 이때 문제 해결을 위해서 진행 했던 방법들을 정리 해놓으려 한다. [AWS RDS의 postgreSQL 서버의 cpu 상태 ] lock 상태 확인 SELECT * FROM pg_stat_activity ORDER BY query_start ASC; pg_stat_act.. 2021. 11. 16.
ORACLE table lock 풀기 ( 오라클 테이블 락 풀기 ) ORACLE table lock 풀기 ( 오라클 테이블 락 풀기 ) 선행 조건 : 쿼리 수행시 system 권한이 있어야 한다. 수행 순서 : 1. lock 걸린 테이블 확인 해야한다. select * from dba_dml_locks; 2. sid,seria 를 가져오자 ( 그래야 kill 할수 있다. ) select sid, serial# from v$session where sid in (select session_id from dba_dml_locks where name = 'lock 걸린 테이블 이름') 3. 해당 프로세스 킬 하면 됨 alter system kill session ':sid:,:serial:' 요새 postgres 사용하다보니, 오라클은 오랬만이긴 한데, 간략하게 정리해두고 필.. 2021. 7. 8.