OGG Control LAGs
12.08.13 |
|
|
|
|
|
|
|
|
1. Control LAGs
OGG 에서 Source 에서 Target Database 에 이르기까지 LAGs 이 존재한다.
그리고 그 LAGs 를 조정하기 위해 다음과 같은 파라미터를 사용한다.
EOFDELAY | EOFDELAYCSEC
FLUSHSECS | FLUSHCSECS
GROUPTRANSOPS
MAXTRANSOPS ( * Reference 에는 LAGs 를 조정하기 위한 파라미터로 언급되어 있진 않음 )
2. Detail information
a. EOFDELAY | EOFDELAYCSECS
DEFAULT : 1초
1초 | 1/100 초, Extract, data pump, replicat 에 사용
데이터 소스의 도달된 마지막 데이터 이후의 새로운 데이터 들에 대한 체크 빈도를 조정
b. FLUSHSECS | FLUSHCSECS
DEFAULT : 1초
1초 | 1/100 초, Extract 에 사용
파라미터에 지정 된 시간이 지나거나 버퍼공간을 전부 사용, 데이터를 원격 시스템으로 보낼 때 flush 한다.
파라미터의 조정으로 네트워크 사용량을 약간 개선할 수 있다.
하지만 소스 시스템의 활동성이 낮고 버퍼를 다 사용하지 못하는 경우 타겟 시스템에 대한 지연증가로 이어질 수 있다.
c. GROUPTRANSOPS
DEFAULT : 1000 operations
min 오퍼레이션 수, Replicat 에 사용
그룹으로 만들어 질 최소의 오퍼레이션수를 타겟 데이터 베이스에 지정한다.
d. MAXTRANSOPS
100,000,000
단일 트랜잭션 그룹으로 들어갈 최대 Operation 숫자
타겟에서 하나의 대규모 트랜잭션을 컨트롤하지 못하는 경우 Replicat 은 메모리 에러로 중단 될 수 있다.
회피를 위해 Replicat 의 트랜잭션을 작게 분할하며 MAXTRANSOPS 를 사용한다.
3. Translation
(Ref.A 를 번역)
<Disk I/O 병목을 제거>
I/O 활동은 Extract 와 Replicat 에 병목 현상을 유발할 수 있다.
- 일반적으로 Extract 는 트레일 파일에 대한 디스크 쓰기와 데이터 소스에 대한 읽기를 발생시킨다.
- 데이터 펌프와 Replicat 은 local trail 에 대해 디스크 읽기를 유발한다.
- 각 프로세스는 규칙적으로 스케쥴에 따라 체크포인트 파일에 recovery checkpoint 를 기록한다.
System 구성안에서 I/O 성능을 증가시키기 위해선
TRAIL 파일을 가장 빠른 디스크 CONTROLLER 에 위치시킨다.
RAID 구성은 RAID 5 보다 RAID 0+1 에 위치시킨다.
OGG 구성을 변경해 I/O 를 개선하기 위해선
다음의 파라미터 값을 증가시킨다.
CHECKPOINTSECS : Extract, Replicat 이 각 checkpoints 를 얼마나 자주 수행할지를 결정
GROUPTRANSOPS : Replicat transaction 이 포함 할 SQL Operation 수를 조정한다.
- Replicat 에 의해 수행 될 트랜잭션 수를 감소시킨다.
- Checkpoint file 과 checkpoint 테이블에 대한 I/O 활동을 감소시킨다.
l Replicat 은 스케쥴 되어 있는 체크포인트와 transaction 을 타겟에 적용할 때를 포함해 checkpoint 를 실시한다.
l Transaction A 가 500 개의 오퍼레이션을 가지고 transaction B 가 600 개의 오퍼레이션을 포함하면, Replicat transaction 은 GROUPTRANSOPS 의 기본값인 1000 개로 셋팅되어 있더라도 1100 개의 오퍼레이션을 포함한다. 반대로 Trail 안에 더 수행 할 데이터가 없는 경우 셋팅된 값에 도달하기 전에 트랜잭션을 적용한다.
l GROUPTRANSOPS 에 큰 값을 셋팅하게 되면 source 와 target 사이에 동기화 지연이 커질 수 있다.
EOFDELAY | EOFDELAYCSECS : Extract, data pump, replicat 이 새로운 데이터를 얼마나 자주 체크할 지 빈도를 결정한다. 이 파라미터는 SOURCEISTABLE 을 사용하는 경우 유효하지 않다.
MAXTRANSOPS 의 사용
타겟 데이터베이스가 대형 트랜잭션을 수용할 환경이 되지 않는 경우 사용될 수 있다.
예를 들어 타겟에서 1백만 로우를 삭제할 롤백세그먼트 공간이 충분하지 않을 때,
MAXTRANSOPS 10000 을 사용하여 10,000 삭제 후 commit 을 하도록 강제할 수 있다.
4. References
A. Oracle GoldenGate Windows and UNIX Troubleshooting and Tuning Guide 11g Release 1
B. Oracle GoldenGate Windows and UNIX Reference Guide 11g Release 2