DB LOCK 개념
DBLock (Database Locking)은 데이터베이스에서 동시성 제어를 위해 사용되는 메커니즘이다. 여러 사용자가 동시에 데이터에 접근할 때 데이터의 무결성을 유지하고 충돌을 방지하기 위해 락을 설정하게 된다.
1)SQLDEVELOPER 에서 실행
CREATE TABLE TABLE1 (
EMPID NUMBER(6,0) NOT NULL PRIMARY KEY,
ENAME VARCHAR2(30 BYTE) NULL,
TEL VARCHAR2(20 BYTE) NULL,
EMAIL VARCHAR2(320 BYTE)
);
INSERT INTO TABLE1(EMPID,ENAME,TEL,EMAIL)
VALUES(100,'가나','010','KANA');
실행
------------------------------------
2)이후 WINDOWS POWERSHELL 실행
SQLPLUS로 로그인해서 아래 데이터를 추가
SQLPLUS /NOLOG
CONN HDG/1234
INSERT INTO TABLE1(EMPID,ENAME,TEL,EMAIL) VALUES(100,'가나','010','KANA');
이후 엔터를 입력하면 컴퓨터가 멈춘다 -> DB LOCK
∵같은 메모리를 사용하는데 COMMIT을 하지 않은 상태에서 PRIMARY KEY가 겹쳐서
-----------------------------------------
3)SQLDEVELOPER에서 COMMIT;을 실행
=>커밋 완료.
4)SQLPLUS(POWERSHELL)에서 화면이 바뀐다.
∵100번이 입력되어 기본키 위반이 발생하며 저장되지 않는다.
'SQL' 카테고리의 다른 글
[sql]Procedure(프로시저) (3) | 2024.09.09 |
---|---|
[SQL] TRRIGER(트리거), TRANSACTION(트랜잭션) (0) | 2024.09.09 |
[SQL]VIEW - 가상의 테이블 (0) | 2024.09.09 |
[SQL]PIVOT(행을 열로 전환) (4) | 2024.09.06 |
[sql]제약조건, 데이터 삽입∙수정∙삭제 (2) | 2024.09.05 |