저번 야간에 작업을 하다 오라클 테이블 Lock 이 걸리는 사태가 발생했습니다.
Lock 이 걸려서 아무런 작업을 할 수가 없었죠...
DB Tool 로 Lock 을 풀어도 봤지만 단순한 방법으로는 Lock을 푼다고 해도 짧은 시간안에 바로 풀리지 않습니다. 저번 삼성 프로젝트할 때도 그런 경험이 있었지요.
Lock 해제하기위해 Admin 에게 요청을 해제 요청을 하면 다음날이 되서야 답변이오고(그때는 이미 Admin 이 작업하지 않아도 풀리고 나서죠.) 그래서 차라리 기다리는게 방법이다 하여 작업하다 퇴근한 적도 있습니다.
저번 작업은 조금 바쁜 작업이라 저희 회사 터프가이에게 헬프를 날렸죠...

친구들과 유흥을 즐기다 제 전화에 바로 겜방으로 달려가주시는 쎈쓰... 이런 쎈쓰쟁이...^^

3~40분을 전화통화를 하며 게임방에 VPN 프로그램을 깔고 접속하여 Lock리스트를 보는 찰라...
처음 조회때에는 보였는데 두번째 조회때에 사라졌습니다.

한마디로 Lock 이 자연적으루다가 시간이 지나서 풀려버린거죠...

대략이 난감이었습니다. ㅡㅡ'


그때 요럴땐 요로케 하셔요~ 하며 알려준 팁입니다. - 정말 쎈쓰쟁이... ^^

하지만 보시는 분들께 당부하고 싶은 한마디...
잘 사용하십시요...
아래 쿼리에 대한 결과에 대해 저나 우리의 쎈쓰쟁이는 책임지지 않습니다.
한마디로 위험하다는 말씀...

========================================================================

Lock 해제 관련 query 보내드립니다.

 

1) 쿼리를 실행한 프로그램을 알고 있다면 프로그램 명으로 해당 세션의 adress 알아냅니다.

select paddr from v$session where program like '%program name' ex) '%DOAD%'

 

2) 찾아낸 세션의 Adress 정보를 바탕으로 프로세스 ID(SID) 찾습니다.

select * from v$process where addr='C00000018880FD58';

 

위에서 찾아낸 SID 프로세스에서 Kill합니다, , 해당 프로세의가 리모트 프로세스이어야만 합니다. (local = no)

 

3) ps -ef | grep 2)sid

 

 

kill -9 2)SID

 

주의)

2)에서 반드시 local = No 프로세스 이어야 합니다.

DB shutdown되는 경우가 생길 있습니다.

============================================================

행복한 고수되십시요...


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
반응형

+ Recent posts