Administering a Coordinated Replicat Configuration
이 절에서는 스레드를 조정하고 새 스레드나 다른 스레드 간에 작업 로드를 다시 분할하기 위한 지침을 제공합니다. MAP 문의 THREAD 또는 THREADRANGE 절에서 분할 영역 사양을 수정하기 전에 조정된 Replicat를 STOP REPLICAT 명령으로 완전히 중지해야 합니다. 클린 스톱은 주어진 지점에서 트레일의 다른 위치에있을 수있는 모든 스레드가 작업을 완료하고 공통 트레일 위치에 도착하도록합니다.
시작 시 Replicat는 마지막 종료가 정리되지 않았음을 감지하고 MAP 문의 분할이 다른 수의 스레드(스레드가 추가 또는 제거됨)를 포함하도록 변경된 경우 오류를 발생시키고 비정상 종료됩니다. 그러나 동일한 스레드가 매개변수 파일에 보관되지만 단순히 다른 MAP 문 간에 재배열된 경우 Replicat는 경고를 발생시키지만 비정상 종료되지는 않습니다. 이로 인해 이전 실행에서 스레드-작업 로드 할당의 연속성을 보장할 방법이 없으므로 레코드가 누락되거나 중복될 수 있습니다.
다음은 이 조건의 예입니다.
다음은 원래 분할 방식입니다.
MAP source, target, THREADRANGE(1-5);
MAP source1, target1, THREADRANGE(6-10);
다음과 같이 원래 체계에 다시 분할하면 경고만 발생합니다.
MAP source, target, THREADRANGE(1-4);
MAP source1, target1, THREADRANGE(5-10);
이 절에서는 재분할을 수행하기 전에 Replicat를 완전히 종료하기 위한 지침과 부정한 종료 후 재분할이 수행될 때 Replicat 연속성을 복구하기 위한 지침을 제공합니다.
조정 모드에서 Replicat 그룹에 대해 다음 작업을 수행할 수 있습니다.
작업 로드의 계획된 재분할 수행
계획된 재분할은 Replicat가 업데이트된 스레드 분할이 포함된 새 매개변수 파일로 다시 시작되기 전에 정상적으로 종료할 수 있는 경우입니다. 클린 종료를 사용하면 모든 스레드가 트레일의 공통 체크포인트 위치에 도달할 수 있습니다. 이 시점에서 새 Partitioning 방식을 다음 실행에서 적용할 수 있습니다.
-
관리 클라이언트를 실행합니다.
-
Replicat를 정지합니다.
STOP REPLICAT *group*
- 편집할 매개변수 파일을 엽니다.
EDIT PARAMS *group*
-
MAP문에서THREAD또는THREADRANGE사양을 필요에 따라 변경합니다. -
매개변수 파일을 저장한 후 닫습니다.
-
복제 시작.
START REPLICAT *group*
계획되지 않은 재분할 후 Replicat 복구
계획되지 않은 재분할은 업데이트된 스레드 분할이 포함된 새 매개변수 파일을 사용하여 다시 시작하기 전에 Replicat를 완전히 종료할 수 없는 경우입니다. 이 시나리오에서는 이전 스레드 중 일부 또는 모두가 작업을 완료하고 공통 체크포인트에 도달할 수 없었습니다. 다시 시작하면 조정자 스레드가 이전 분할 체계를 적용하려고 시도하고 Replicat가 오류와 함께 비정상 종료됩니다. 다음 방법 중 하나로 이 조건에서 조정된 Replicat 그룹을 복구할 수 있습니다.
-
파라미터 파일의 자동 저장 복사본 사용
-
HANDLECOLLISIONS를 사용하여 로우 워터마크에서 재처리
HANDLECOLLISIONS를 사용하여 Low Watermark에서 재처리
이 절차에서는 모든 스레드를 낮은 워터마크 위치로 재배치합니다. 모든 스레드에서 가장 이른 체크포인트 위치입니다. 다른 방식으로 설명하기 위해, 낮은 워터마크 위치는 더러운 정지 전에 가장 느린 스레드에 의해 처리된 마지막 레코드입니다. Replicat를 시작하면 Replicat가 정지되기 전에 스레드가 처리 중인 작업을 재처리하고, HANDLECOLLISIONS 매개변수는 더 빠른 스레드가 더러운 정지 전에 적용한 작업을 재처리할 때 발생하는 중복 레코드 및 누락된 레코드 오류를 처리합니다.
-
Replicat 매개변수 파일에
HANDLECOLLISIONS매개변수를 추가합니다.THREADS옵션을 사용할 필요는 없습니다. -
Replicat 그룹에 대해 전체적으로
INFO REPLICAT명령을 실행합니다(조정자 스레드). 체크포인트의 RBA를 기록합니다. 낮은 워터마크 값입니다. 이 출력은 또한Group Name열 아래에 활성 스레드 ID를 보여줍니다. 이러한 레코드도 작성합니다.
INFO REPLICAT *group*
For example:
<pre class="copy"><code>OGG(slc03jgo) 3> info ra detail REPLICAT RA Last Started 2013-05-01 14:15 Status ABENDEDCOORDINATED Coordinator MAXTHREADS 15Checkpoint Lag 00:00:00 (updated 00:00:07 ago)Process ID 11445Log Read Checkpoint File ./dirdat/withMaxTransOp/bg000000001 2013-05-02 07:49:45.975662 RBA 44704Lowest Log BSN value: (requires database login)Active Threads: ID Group Name PID Status Lag at Chkpt Time Since Chkpt1 RA001 11454 ABENDED 00:00:00 00:00:01 2 RA002 11455 ABENDED 00:00:00 00:00:04 3 RA003 11456 ABENDED 00:00:00 00:00:01 5 RA005 11457 ABENDED 00:00:00 00:00:02 6 RA006 11458 ABENDED 00:00:00 00:00:04 7 RA007 11459 ABENDED 00:00:00 00:00:04</code></pre>
- 각 처리 스레드 ID에 대해
INFO REPLICAT명령을 실행하고 각 스레드의 RBA 위치를 기록합니다. 가장 높은 RBA를 기록해 둡니다. Replicat 그룹의 높은 워터마크입니다.
INFO REPLICAT *threadID*
For example:
<pre class="copy"><code>info ra002 REPLICAT RA002 Last Started 2013-05-01 14:15 Status ABENDEDCOORDINATED Replicat Thread Thread 2Checkpoint Lag 00:00:00 (updated 00:00:06 ago)Process ID 11455 Log Read Checkpoint File ./dirdat/withMaxTransOp/bg000000001 2013-05-02 07:49:15.837271 RBA 45603</code></pre>
- 조정자 스레드에 대해
ALTER REPLICAT명령(전체적으로 스레드 ID 없이 복제)을 실행하고 기록한 낮은 워터마크 RBA에 배치합니다.
ALTER REPLICAT *group* EXTRBA *low_watermark_rba*
- 복제 시작.
START REPLICAT *group*
- 기록한 높은 워터마크보다 높은 RBA가 표시될 때까지 기본
INFO REPLICAT명령을 실행합니다.HANDLECOLLISIONS는 이전에 적용된 트랜잭션으로 인해 발생하는 모든 충돌을 처리합니다.
INFO REPLICAT *group*
- Replicat를 정지합니다.
STOP REPLICAT *group*
-
HANDLECOLLISIONS매개변수를 제거하거나 주석 처리합니다. -
복제 시작.
START REPLICAT *group*
자동 저장 파라미터 파일 사용
원래 매개변수 파일의 복사본은 Replicat를 완전히 종료하기 전에 매개변수 파일을 편집할 때마다 저장됩니다. 이 파라미터 파일로 복원한 다음 스레드를 재동기화하여 가장 최근의 체크포인트 위치가 있는 스레드를 모두 처리하도록 할 수 있습니다. 스레드가 동기화되면 새 매개변수 파일로 전환한 다음 Replicat를 시작할 수 있습니다.
-
새 파라미터 파일을 다른 이름으로 저장한 다음 저장된 원본 파라미터 파일의 이름을 올바른 이름으로 바꿉니다(그룹 이름과 동일). 저장된 매개변수 파일은
.backup접미어를 가지며 Oracle GoldenGate 설치 디렉토리의dirprm하위 디렉토리에 저장됩니다. -
다음 명령을 실행하여 Replicat 스레드를 최대 체크포인트 위치로 동기화합니다. 이 명령은 자동으로 Replicat를 시작하고 최대 체크포인트 위치에 도달할 때까지 스레드를 실행합니다.
SYNCHRONIZE REPLICAT *group*
- Replicat가 완전히 중지된 것으로 표시될 때까지
STATUS REPLICAT명령을 실행합니다.
STATUS REPLICAT *group*
-
원본 파라미터 파일을 다른 이름으로 저장한 다음 새 파라미터 파일의 이름을 그룹 이름으로 바꿉니다.
-
복제 시작.
START REPLICAT *group*