변경 테이블 작업
소스 종료 지점 테이블의 변경 내용을 대상 종료 지점의 해당 테이블에 복제하는 것 외에도 대상 종료 지점의 해당 변경 테이블에 변경 내용을 복제할 수도 있습니다. 이 프로세스는 대상 테이블에 변경 내용을 적용할 때 동시에 발생합니다. 변경 내용을 대상에만 복제할지, 변경 테이블에 변경 내용을 저장할지, 아니면 둘 다할지 선택할 수 있습니다. 자세한 내용은 아래 변경 테이블 모델 사용을 참조하십시오.
소스 데이터를 변경하지 않는 소스에 적용된 UPDATE는 대상에 적용되지만 해당 변경 테이블에는 적용되지 않습니다. 예를 들어, 소스의 A열에 대한 UPDATE 작업이 10보다 큰 모든 값을 1로 변경하고 A열의 레코드 중 하나가 이미 1인 경우, 해당 레코드에 대한 UPDATE는 변경 테이블에 기록되지 않습니다.
변경 테이블은 복제되는 테이블과 동일한 이름을 갖지만 __ct
접미사가 추가됩니다.
변경 테이블에는 소스 테이블에서 선택한 열 외에도 작업, 트랜잭션, 타임스탬프 등 행이 나타내는 변경 내용에 대한 추가 정보를 제공하는 특수 헤더 열도 포함되어 있습니다. 이를 통해 SQL 쿼리 언어를 사용하여 사기 탐지, 추세 분석, 비즈니스 프로세스 트리거 및 재해 복구와 같은 변경 이벤트에 대한 다양한 분석을 수행할 수 있습니다. 변경 테이블 읽기에 대한 자세한 내용은 변경 테이블 읽기를 참조하십시오.
자르기 작업 처리
TRUNCATE 작업은 변경 테이블을 자르지 않습니다. 대신 operation=TRUNCATE.
를 사용하여 추가 레코드가 테이블에 추가됩니다.
실제 대상 테이블과 관련하여 변경 내용 적용 및 변경 내용 저장 복제 옵션이 모두 활성화되면 대상 테이블이 잘립니다.
변경 테이블과 대상 테이블 모두에 TRUNCATE 작업을 적용하려면(TRUNCATE를 지원하는 소스의 경우):
- 작업 설정의 변경 내용 저장 설정 탭에 있는 DDL 옵션 드롭다운 목록에서 변경 테이블에 적용(기본값)이 선택되어 있는지 확인합니다.
- 작업 설정의 변경 내용 적용 설정 탭에 있는 소스 테이블이 잘릴 때 드롭다운 목록에서 TRUNCATE 대상 테이블(기본값)이 선택되어 있는지 확인합니다.
변경 테이블 모델 사용
변경 테이블 작업을 할 때 변경 테이블에 변경 내용을 저장할지, 대상 테이블에 변경 내용을 적용할지, 아니면 변경 내용을 저장하고 적용할지 결정할 수 있습니다. 복제 작업을 정의할 때 이를 결정합니다. 이 설정에 대한 자세한 내용은 변경 내용 저장 설정을 참조하십시오.
변경 내용을 적용하고 저장하는 경우 다음 사항이 이루어집니다.
-
대상과 변경 테이블은 스키마가 다를 수 있지만 동일한 종료 지점에 있어야 합니다. 예를 들어, 변경 테이블에는 메타데이터 헤더가 포함됩니다.
스키마 변경에 대한 자세한 내용은 변경 테이블 스키마 이름 바꾸기를 참조하십시오.
-
변경 테이블에 적용된 변경 내용은 소스 데이터베이스의 해당 트랜잭션에서 수행된 변경 내용과 정확히 동일하게 처리됩니다. 따라서 트랜잭션 일관성 보존 옵션이 선택된 상태에서 트랜잭션 적용 모드 또는 일괄 최적화 적용 모드를 사용하면 변경 내용이 단일 트랜잭션으로 처리됩니다.
이에 대한 예외는 오류가 발생하고 오류의 원인이 되는 변경 작업을 결정하기 위해 데이터 작업이 "일대일" 적용 모드로 전환되는 경우입니다.
- 저장된 변경 테이블에만 추가되는 변경 헤더 열을 제외하고 동일한 데이터 열이 적용되고 저장됩니다.