1. dbaccess 를 이용하여 LOCK이 의심되는 테이블의 LOCK정보를 조회한다.

select t.Tabname, t.Locklevel from systables t where tabname='test1';

 

2. dbaccess 를 이용하여 아래의 쿼리를 실행시켜 해당 테이블의 partnum을 구한다.

select hex(partnum) from systables where tabname = 'mytable';

 

3. 결과에서 얻은 partnum을 이용하여 현재 lock을 갖고 있는 session의 address를 구한다.

# onstat -k |grep PARTNUM

(단, 이때 사용하는 PARTNUM은 0x를 제외한 값을 사용하며, alphabet이 들어있는 경우에는 소문자를 사용한다. )

 

4. session address를 이용하여 세션번호를 구한다.

onstat -u|grep SESS_ADDR

(단 SESS_ADDR은 2)의 결과에서 3번째 필드값임 )

 

5.구한 세션번호를 이용하여 해당 세션이 문제의 작업을 진행하던 세션인지 확인한다.

onstat -g ses SID

(단, SID는 3)의 결과에서 3번째 필드값임 )

 

6. 해당 세션을 종료시킨다.

onmode -z SID

 

7. 2)를 반복하여 해당 lock이 release 되었는지 확인한다.