LOCK을 해제하는 방법 0 4 1,306

by 구루씨 [Oracle 기초] [2016.12.06 14:04:42]


오라클을 사용하다가 테이블 LOCK이 걸려버렸는데요.

이 테이블 LOCK이 걸렸을 때  해제되는 방식이 궁금합니다!

 

예를들어

 

A세션에서 테이블을 사용중일때

B 세션에서 테이블에 명령을 주어서 LOCK이 걸렸다고 가정할 때

 

LOCK 해제 명령어를 이용하면 두개의 세션이 해당 테이블에서 자동 끊어지는건가요?

 

아니면 다른 방식으로 LOCK이 해제 되는건가요?

by 우리집아찌 [2016.12.06 14:51:39]

commit  , rollback 이요


by 구루씨 [2016.12.07 09:58:45]

감사합니다. LOCK을 해제할 때에는 Commit이나 rollback명령어를 사용하면 되는가 보네요~!


by 역훈 [2016.12.06 15:40:37]

commit 이나 rollback 하시면 transaction 종료되면서 lock이 해제됩니다.


by 구루씨 [2016.12.07 10:01:59]

감사합니다. transaction이라고 하셔서 궁금해서 알아봤더니

트랜잭션의 특징 4가지까지 공부하게되었는데요

ACID

Atomicity / Consistency / Isolation / Durablity

여기에서 Isolation의 설명을 보면

고립성

트랜잭션들이 서로 독립성을 보장받으며 수행될 수 있도록 도와준다.

동시에 같은 데이터에 대해 접근 요구를 할 때 트랜잭션에 순서를 부여해서 순차적으로 결과를 처리한다.

라고 되어있는데요.

이런식으로 순차적으로 처리한다면 LOCK이 걸릴 이유가 없을 것 같은데

왜 LOCK이 걸리는지 궁금합니다.

답변 채택은 레벨이 낮으신 분을 채택해드릴게요!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입