[ Oracle - Lock List 보기 및 Lock 해제 ]     

 

☞ 참고

 

LOCK 해결방법 (ORA-00054 해결 방법)

 

☞ 방법1

 

1. Lock List 찾기
   SELECT B.USERNAME USERNAME, C.SID SID, C.OBJECT OBJECT,A.SQL_TEXT SQL
   FROM   V$SQLTEXT A, V$SESSION B,V$ACCESS C
   WHERE  A.ADDRESS    = B.SQL_ADDRESS
   AND    A.HASH_VALUE = B.SQL_HASH_VALUE
   AND    B.SID        = C.SID
   AND    C.OWNER      = 'USER ID' ;

2. Lock 삭제
   alter system kill session '150,101';   --세션ID, Serial#

☞ 방법2
 

1. Lock List 찾기
   select a.sid, a.serial#, b.type, c.object_nam
   from   V$session a, v$lock b, dba_objects c
   where  a.sid = b.sid
   and    b.id1 = c.object_id
   and    b.type = 'TM'
   and    c.object_name = 'FSFE1_STRACK_INFO'

2. Lock 삭제
   alter system kill session '150,101';   --세션ID, Serial#

 

☞ step

  STEP 1 : Lock 이 발생한 OBJECT 확인
SELECT object_id, object_type
    FROM dba_objects
  WHERE object_name='테이블 / 인덱스 이름';

STEP 2 : Lock 을 잡고 있는 세션 ID 확인
SELECT *
    FROM v$locked_object
  WHERE object_id='STEP1에서 검색한 object_id';

(오라클 사용자 이름과 세션 ID 를 기억해 둔다)

STEP 3 : Lock 을 잡고 있는 세션의 Serial 번호 확인
SELECT sid, serial#, command, taddr
    FROM v$session
  WHERE sid='STEP2의 세션 ID 번호';

STEP 4 : 세션 강제 종료
ALTER SYSTEM KILL SESSION '<세션 ID, Serial#>';

STEP 5 : 세션 종료 확인 및 Rollback 체크
SELECT used_ublk
    FROM v$transaction
  WHERE ADDR='<STEP3의 TADDR>';


 


 

'(DB) Oracle > 튜닝 및 조작' 카테고리의 다른 글

Oracle - Lock걸린_자료조회  (0) 2017.01.22
Oracle - 여러 가지 조작  (0) 2017.01.22
Oracle - DBA Scripts  (0) 2017.01.22
Oracle - Optimizer  (0) 2017.01.22
Oracle - HINT  (0) 2017.01.22
Posted by 농부지기
,