전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

리두로그버퍼튜닝

전문가칼럼
DBMS별 분류
Oracle
작성자
dataonair
작성일
2003-01-01 00:00
조회
6876





리두로그버퍼튜닝

김기석


리두로그에 관련된 latch로 redo allocation latch와 redo copy latch가 있다.

리두 엔트리가 버퍼에 쓰여질 때는 이 latch중 하나를 잡아야만 작업을 수행할 수 있다. redo allocation latch는 인스턴스에 한 개만 존재할 수 있으며 redo copy latch는 CPU개수의 두배까지 지정할 수 있다.

리두로그 엔트리가 버퍼에 들어가는 과정을 살펴보면 우선 redo allocation latch를 잡고 버퍼에 copy작업을 하게 되는데 이때 엔트리가 커서 copy하는데 시간이 오래 걸리겠다고 판단하면 redo allocation latch를 release한 다음 redo copy latch를 잡고 엔트리를 copy한다. 여기서 redo allocation latch를 release하는 기준이 되는 것이 log_small_entry_max_size 파라미터로 여기서 지정된 사이즈보다 리두엔트리 사이즈가 크면 오래 걸리는 것으로 판단한다. 이렇게 해주는 이유는 앞에서 언급한 것처럼 redo allocation latch가 하나뿐이기 때문이다.

redo copy latch의 개수도 지정해 줄 수 있는데 관련 파라미터가 log_simultanous_copies이다. Latch contention을 줄여 주려면 log_simultaneous_copies로 redo copy latch를 넉넉히 할당하고 (최대 CPU 개수의 두배까지 지정 가능) log_small_entry_max_size를 작게 주어 redo allocation latch의 부하를 줄여주면 된다.

그런데 redo copy latch를 무작정 많이 할당하게 되면 비효율적인 자원 운영이 되므로 모니터한 후 적당한 값을 주도록 해야한다. log_small_entry_max_size 파라미터는 오라클의 자료에 OLTP의 경우는 400정도로 하고 batch job의 경우에는 800이상으로 설정하도록 되어 있다.


제공 : DB포탈사이트 DBguide.net