Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

동시성/잠금 파라미터

다음은 데이터베이스 서버의 동시성 제어 및 잠금에 관한 파라미터로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.

파라미터 이름

타입

기본값

최소값

최대값

deadlock_detection_interval_in_secs

float

1.0

0.1

 

isolation_level

int

3

1

6

lock_escalation

int

100000

5

 

lock_timeout_in_secs

int

-1

-1

 

deadlock_detection_interval_in_secs

deadlock_detection_interval_in_secs는 중단된 트랜잭션에 대해 교착 상태 여부를 탐지하는 주기를 초 단위로 설정하기 위한 파라미터이다. CUBRID 시스템은 교착 상태에 있는 트랜잭션 중 하나를 롤백시켜 교착 상태를 해결한다. 기본값은 1초이며, 최소값은 0.1초이다. 이 값은 0.1초 단위로 올림하여 동작한다. 즉, 입력값이 0.12초이면 0.2초를 입력한 것과 같이 동작한다. 탐지 주기가 길면 오랜 시간동안 교착 상태를 탐지할 수 없으므로 주의한다.

isolation_level

isolation_level은 트랜잭션의 격리 수준을 설정하기 위한 파라미터로 격리 수준이 높을수록 트랜잭션의 동시성이 적고 다른 동시성 트랜잭션에 의해 간섭받지 않는다. isolation_level 파라미터는 격리 수준을 의미하는 1에서 6까지의 정수값 또는 문자열로 설정하며, 기본값은 TRAN_REP_CLASS_UNCOMMIT_INSTANCE이다. 각 격리 수준 및 파라미터 설정값에 대한 자세한 내용은 격리 수준 설정과 다음 표를 참조한다.

격리 수준

isolation_level 파라미터 설정값

SERIALIZABLE

"TRAN_SERIALIZABLE" or 6

REPEATABLE READ CLASS with
REPEATABLE READ INSTANCES

"TRAN_REP_CLASS_REP_INSTANCE" or "TRAN_REP_READ" or 5

REPEATABLE READ CLASS with
READ COMMITTED INSTANCES
(or CURSOR STABILITY)

"TRAN_REP_CLASS_COMMIT_INSTANCE" or "TRAN_READ_COMMITTED" or "TRAN_CURSOR_STABILITY" or 4

REPEATABLE READ CLASS with
READ UNCOMMITTED INSTANCES

"TRAN_REP_CLASS_UNCOMMIT_INSTANCE" or "TRAN_READ_UNCOMMITTED" or 3

READ COMMITTED CLASS with
READ COMMITTED INSTANCES

"TRAN_COMMIT_CLASS_COMMIT_INSTANCE" or 2

READ COMMITTED CLASS with
READ UNCOMMITTED INSTANCES

"TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE" or 1

lock_escalation

lock_escalation은 행에 대한 잠금이 테이블 잠금으로 확대되기 전에 개별 행에 허용되는 최대 잠금의 개수를 설정하기 위한 파라미터로 기본값은 100,000이다. lock_escalation 파라미터의 설정값이 작으면, 메모리 잠금 관리에 의한 오버헤드가 적은 반면 동시성은 줄어든다. 반대로 설정값이 크면 메모리 잠금 관리에 의한 오버헤드가 큰 반면 동시성이 향상된다.

lock_timeout_in_secs

lock_timeout_in_secs는 잠금 대기 시간을 지정하기 위한 클라이언트 파라미터로 지정된 시간 이내에 잠금이 허용되지 않으면 해당 트랜잭션이 취소되고 오류가 반환된다. 기본값인 -1로 설정하면 잠금이 허용될 때까지의 대기 시간이 무제한이고, 0으로 설정하면 잠금을 대기하지 않는다.