by axiom Redo Log Buffer Redo Log 기록 LGWR Redo Log File [2014.02.17]
데이터베이스 아키텍처를 분석하고 학습하다 보면 항상 데이터베이스 내부 구조에 대한 호기심이 생기게 마련이다. 이와 같은 데이터베이스 내부 아키텍처는 실제 업무를 수행하는 데 큰 도움이 되지는 않을 수 있다고 생각한다.
하지만 데이터베이스 내부 아키텍처를 이해하는 순간 데이터베이스에 문제가 발생하는 경우 정확한 그리고 논리적인 분석이 가능해진다. 그렇기 때문에 데이터베이스를 확실하게 분석하기 위해서는 데이터베이스 Internal은 반드시 이해하는 것이 유리하다.
Redo Log Buffer의 목적은 복구를 위해서다. 그렇기 때문에 Redo Log Buffer는 복구를 위해 모든 아키텍처가 구성되어 있다. 이번 강좌에서는 Redo Log의 기록에 대해 확인해 보자.
Redo Log Buffer는 다음과 같은 경우에 LGWR에 의해 Redo Log Buffer의 Active한 영역을 Redo Log File에 기록하게 된다.
위와 같은 경우에 Redo Log Buffer의 Active 영역이 Redo Log File에 기록되게 된다
Sync Write는 Redo Log Buffer의 공간이 1/3이 채워졌을 경우 LGWR에 의해 Redo Log Buffer의 내용을 Redo Log File에 기록하게 된다. 해당 항목은 오라클 파라미터 중 _LOG_IO_SIZE 파라미터에 의해 결정된다. 기본 값으로는 해당 Redo Log Buffer의 1/3에 해당하는 값이 설정된다.
Redo Log Buffer를 크게 설정하게 되면 _LOG_IO_SIZE 파라미터의 값이 자동으로 커지며 그렇게 되면 Sync Write의 값이 증가하게 된다. Sync Write의 값이 큰 경우에는 Log File Sync 대기 이벤트가 발생할 수 있다. 그런 이유에서 오라클 11g의 경우에는 해당 값이 1/6의 값으로 설정된다.
Redo Log Buffer의 내용을 Redo Log File에 기록하기 위해서는 어떤 프로세스에 의해 작업을 수행해야 한다. 이와 같이 Redo Log Buffer의 내용을 Redo Log File에 기록하는 프로세스가 LGWR에 해당한다. 이와 같은 LGWR은 다음과 같은 절차에 의해 수행된다.
이와 같은 절차를 수행해 LGWR은 Redo Log Buffer의 Buffer를 Redo Log File에 기록하게 된다.
- 강좌 URL : http://www.gurubee.net/lecture/2686
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.