래치가 SGA를 보호한다면, 락은 데이터베이스 전체를 보호한다?
Table lock
sql > lock table 테이블명 in 모드 mode [대기시간];
LOCK Mode
ⓐSHARE (S)
: 동시성 질의를 허용하다, update, insert, delete 불가
ⓑEXCLUSIVE (X)
: 배타적인 질의 처리 허용. 어떠한 lock도 걸 수 없음. drop table, alter table등의 ddl 문장에서 의해 생기는 테이블 lock
ⓒROW SHARE (RS)
: 동시성 접근 허용, exclusive access를 위한 전체 테이블에 대한 locking 금지
: select~from~where~for update of~; 또는 lock table ~ in row share mode;명렁에 의해 발생
: RS lock -> RS, RX, S,SRX lock은 가능하나, X lock은 불가
ⓓROW EXCLUSIVE (RX)
: 동시성 접근 허용, exclusive access를 위한 전체 테이블에 대한 locking 금지
: ROW EXCLUSIVE mode가 설정되어 있는 경우, SHARE mode의 locking은 거부한다.
: ROW EXCLUSIVE mode는 update, insert, delete시에 자동으로 부여된다.
ⓔSHARE ROW EXCLUSIVE (SRX)
: table 전체 탐색이나 다른 사용자에게 table의 row들을 탐색하게 할 때 사용한다.
: SHARE mode의 lock이 부여된 table이나 update되고 있는 row들에 대한 다른 사용자의 접근은 금지한다.
[참고]
'IT Engineer > Database' 카테고리의 다른 글
[Database] PSM이란? PSM처리과정, PSM블록구조 (0) | 2018.01.18 |
---|---|
[Database] ODBC란? Indicator variable(indicator변수)란? (0) | 2018.01.18 |
[DataBase] INFORMATION_SCHEMA와 DICTIONARY_SCHEMA 차이? (0) | 2018.01.18 |
[DataBase] Dynamic SQL - Method (0) | 2018.01.18 |
[DataBase] DataBase의 ACID란? (0) | 2018.01.18 |