RESTART REPLICAT
RESTART REPLICAT를 사용하여 Replicat 그룹을 정지했다가 시작할 수 있습니다. Replicat가 시작되었는지 확인하려면 INFO REPLICAT 또는 STATUS REPLICAT 명령을 사용합니다.
일반 시작점
Replicat는 일반 시작점(초기 또는 현재 체크포인트)이나 대체 사용자 지정 추적 위치에서 시작할 수 있습니다.
RESTART REPLICAT에 옵션이 지정되지 않을 경우 데이터 무결성을 유지하기 위해 Replicat가 다음 지점 중 하나에서 처리를 시작합니다.
-
정상 또는 비정상 종료 후: 현재 읽기 체크포인트가 나타내는, 이전 실행의 추적에서 첫번째 미처리 트랜잭션
-
그룹이 생성된 후 첫번째 시작: 활성 추적 파일의 시작(
seqno 0,rba 0)
대체 시작점
START REPLICAT의 SKIPTRANSACTION, ATCSN 및 AFTERCSN 옵션을 사용하면 Replicat가 전체적으로 또는 조정된 Replicat의 특정 스레드로 일반 시작점이 아닌 추적의 트랜잭션에서 처리를 시작합니다. 해당 옵션은 다음과 같이 사용됩니다.
-
오류로 인해 Replicat가 추적에서 진행되지 못할 경우 논리적 복구 위치를 지정합니다. 데이터가 대상에 적용되지 않음을 기반으로, 잘못된 단일 또는 다중 트랜잭션을 건너뛰도록 Replicat를 배치할 수 있습니다.
-
초기 로드 중 백업이 대상에 적용된 후 레코드 중복 및 레코드 누락 오류를 일으키는 복제된 트랜잭션을 건너뜁니다. 해당 옵션을 사용하면 Replicat가 백업에서 캡처된 가장 최근 변경사항보다 이전에 발생한 트랜잭션을 폐기합니다. 백업 완료에 해당하는 순차 식별자의 값을 CSN 값에 매핑한 후 Replicat를 시작하여 지정된 CSN부터 트랜잭션 적용을 시작할 수 있습니다.
구문
RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...]])]
group_name_wildcard
Replicat 그룹의 이름 또는 다중 그룹을 지정할 와일드 카드 문자(*)입니다. 예를 들어, T*는 이름이 T로 시작하는 모든 Replicat 그룹을 시작합니다.
SKIPTRANSACTION
Replicat가 추적의 예상 시작 위치 후 첫번째 트랜잭션을 건너뛰도록 합니다. 첫번째 트랜잭션의 모든 작업이 제외됩니다.
MAXTRANSOPS 매개변수가 이 Replicat에 사용되고 있을 경우 프로세스가 트랜잭션 도중 어느 지점에서 추적 파일 읽기를 시작할 수 있습니다. 이 경우 부분 트랜잭션의 나머지를 건너뛰고 Replicat가 파일의 다음 시작 트랜잭션 레코드에서 정상 처리를 재개합니다. DISCARDFILE 매개변수가 사용 중일 경우 건너뛴 레코드가 폐기 파일에 기록되고, 사용되고 있지 않을 경우 다음과 유사하게 보고서 파일에 메시지가 기록됩니다.
User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba
SKIPTRANSACTION은 Replicat가 읽고 있는 추적이 온라인 변경 동기화 구성(체크포인트 포함)에 포함되는 경우에만 유효합니다. SPECIALRUN이 ADD REPLICAT와 함께 사용되는 작업 유형 초기 로드에는 부적합합니다.
ATCSN csn |
AFTERCSN csn |
특정 CSN에서 사용자 정의 시작점을 설정합니다. ATCSN 또는 AFTERCSN이 사용되는 경우 다음 중 하나와 유사한 메시지가 보고서 파일에 기록됩니다.
User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string
해당 옵션에 대한 일반 정보:
-
해당 Replicat가 읽고 있는 추적이 온라인 변경 동기화 구성(체크포인트 포함)에 포함되는 경우에만 적합합니다.
SPECIALRUN이ADD REPLICAT와 함께 사용되는 작업 유형 초기 로드에는 부적합합니다. -
CSN은 각 트랜잭션의 첫번째 추적 레코드에 저장되므로 CSN 이후 시작을 지원하기 위해 추적은 Oracle GoldenGate 버전 10.0.0 이상이어야 합니다. Replicat가 이전 추적 버전에 대해
AFTERCSN으로 시작된 경우 Replicat가 비정상 종료되고 추적 형식이 지원되지 않음을 알리는 오류를 보고서에 기록합니다.ATCSNReplicat가 지정된 CSN을 사용하는 트랜잭션에서 처리를 시작하도록 합니다. CSN 값이 지정된 값보다 작은 추적의 트랜잭션을 건너뜁니다.
AFTERCSNReplicat가 지정된 CSN을 사용하는 트랜잭션 이후에 발생한 트랜잭션에서 처리를 시작하도록 합니다. CSN 값이 지정된 값보다 작거나 같은 추적의 트랜잭션을 건너뜁니다.
csnCSN 값을 지정합니다. 데이터베이스에 대해 적합한 형식으로 CSN 값을 입력합니다. CSN 형식 및 설명은 커밋 시퀀스 번호(CSN)를 참조하십시오. 형식이 부적합한 경우 Replicat가 비정상 종료되고 보고서 파일에 메시지를 기록합니다.
초기 로드가 완료된 후 제공할 CSN을 결정하려면 로드 유틸리티가 로드를 완료한 커밋 식별자를 사용합니다. 또는 Replicat를 시작할 시기를 결정하려면 초기 로드 프로시저의 지침을 따릅니다.
FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS
Replicat가 이미 처리한 트랜잭션을 무시하도록 합니다. Extract가 새 시작점에 재배치되고("START EXTRACT"의 ATCSN 또는 AFTERCSN 옵션 참조) 추적에 중복 트랜잭션이 있어 이로 인해 Replicat가 비정상 종료될 수 있는 것이 확실한 경우에 사용합니다. 이 옵션의 경우 체크포인트 테이블을 사용해야 합니다. 데이터베이스가 Oracle인 경우 이 옵션은 비통합 모드의 Replicat에만 적합합니다. 통합 모드 및 자동 대상 추적 파일 재생성의 경우 통합 모드는 중복 트랜잭션을 투명하게 처리합니다. 기본값은 FILTERDUPTRANSACTIONS입니다.
THREADS thread_list
Replicat이 조정 모드인 경우 SKIPTRANSACTION, ATCSN 및 AFTERCSN에 대해 적합합니다. 해당 옵션 없이는 RESTART REPLICAT에 대해 부적합합니다. 지정된 위치에서 지정된 Replicat 단일 또는 다중 스레드를 시작합니다.
thread_list
threadIDlow-threadIDhigh, threadIDlow-threadIDhigh 형식의 콤마로 구분된 범위 목록입니다.
!
(느낌표) Replicat를 즉시 재시작합니다. 트랜잭션이 정지됩니다.
예제
RESTART REPLICAT finance
다음은 특정 CSN에서 Replicat를 시작합니다.
RESTART REPLICAT finance, ATCSN 6488359
다음은 조정된 Replicat의 스레드 4 및 5가 Replicat 시작 시 마지막 체크포인트 이후의 첫번째 트랜잭션을 건너뛰도록 합니다. 스레드가 열 개인 조정된 Replicat인 경우 스레드 0-3 및 6-10은 모두 마지막 체크포인트의 시작점인 일반 시작점에서 시작됩니다.
RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)
다음 예에서는 조정된 Replicat의 스레드 1-3이 CSN 6488359에서 시작되고, 스레드 9-10이 CSN 6488360 이후에 시작되고, 스레드 7 및 8이 마지막 체크포인트 이후 첫번째 트랜잭션을 건너뜁니다.
RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)