Block-Level Lock

Oracle에서 블록 단위 잠금(Block-level lock)은 데이터베이스에서 사용되는 다른 잠금 수준 중 하나입니다. 이는 특정 데이터베이스 블록을 잠그는 메커니즘으로, 특히 특정 레코드나 행이 아니라 블록 단위로 잠금을 설정합니다.

블록은 일반적으로 여러 레코드 또는 행을 포함하는 데이터베이스의 논리적인 단위입니다. 블록 단위 잠금은 특정 블록을 잠그는 것으로, 여러 행이 해당 블록에 속해 있습니다. 이로써 여러 행이 포함된 블록을 잠그면 해당 블록의 모든 행에 대한 동시 업데이트 또는 변경을 방지할 수 있습니다.

블록 단위 잠금은 일반적으로 성능 면에서 더 효율적일 수 있습니다. 특히 동시성이 높은 환경에서 많은 행을 개별적으로 잠그는 것보다 블록을 잠그는 것이 더 경제적이기 때문입니다. 그러나 한편으로는 블록이 잠겨 있을 때 해당 블록을 사용하는 다른 트랜잭션은 대기해야 하므로 일부 상황에서는 성능 문제가 발생할 수 있습니다.

Oracle 데이터베이스에서는 이러한 블록 단위 잠금이 효과적으로 구현되어 있으며, 특정 SQL 문을 실행할 때 데이터베이스 엔진이 어떤 잠금 수준을 선택할지는 데이터베이스 엔진의 옵티마이저에 따라 다를 수 있습니다.

'데이터 아키텍처 & 처리기술 & DBMS > Oracle' 카테고리의 다른 글

테이블 레벨 Lock 읽기 일관성 확보  (0) 2023.12.21
문장수준 읽기 일관성  (0) 2023.12.21
Oracle Undo 세그먼트 구조  (0) 2023.12.21
Lock Byte  (0) 2023.12.21
Undo  (0) 2023.12.21