테이블 처리 준비
TimesTen에 대한 Oracle GoldenGate 환경에서 다음 테이블 속성을 처리해야 합니다.
ON DELETE CASCADE 제약 조건 제거
Oracle TimesTen의 대상 테이블에 ON DELETE CASCADE 절을 지정하는 외래 키가 있고 해당 외래 키의 대상인 테이블이 Oracle GoldenGate 복제의 대상인 경우 오류를 방지하려면 외래 키 정의에서 ON DELETE CASCADE 절을 제거해야 합니다.
소스 테이블이 emp_src 및 salary_src이고 대상 테이블이 emp_targ 및 salary_targ인 다음 예를 고려해 보십시오.
-
emp_src에 대해 삭제가 실행됩니다. -
삭제를
salary_src로 캐스케이드합니다. -
Oracle GoldenGate는 두 삭제를 대상으로 전송합니다.
-
상위 삭제가 먼저 도착하여
emp_targ에 적용됩니다. -
상위 삭제는 삭제를
salary_targ로 캐스케이드합니다. -
salary_src에서 계단식 삭제가salary_targ에 적용됩니다. -
행은 5단계에서 이미 삭제되었으므로 찾을 수 없습니다.
Oracle TimesTen는 외래 키 제약 조건 비활성화 또는 캐스케이드 삭제 제약 조건을 지원하지 않습니다. ON DELETE CASCADE를 제거하려면 테이블을 삭제하고 ON DELETE CASCADE 절 없이 재생성해야 합니다. 또는 ALTER TABLE를 사용하여 외래 키 제약 조건을 제거하고 ON DELETE CASCADE 절 없이 재생성할 수 있습니다.
테이블에 대한 행 고유성 보장
Oracle GoldenGate에는 복제된 업데이트 및 삭제를 위한 올바른 대상 행을 찾기 위해 소스 및 대상 테이블에서 특정 형식의 고유한 행 식별자가 필요합니다.
KEYCOLS 절이 TABLE 또는 MAP 문에 사용되지 않는 한 Oracle GoldenGate는 다음 우선순위 순서로 사용할 행 식별자를 선택합니다. 1. 기본 키
-
시간 기록 또는 비구체화된 계산 열을 포함하지 않는 첫 번째 고유 키 영숫자.
-
앞의 키 유형이 없는 경우(테이블에 정의된 다른 유형의 키가 있더라도) Oracle GoldenGate는 모든 열의 의사 키를 생성합니다. Oracle GoldenGate가 키 또는 Oracle GoldenGate 구성에서 제외된 키에서 지원하지 않는 데이터베이스를 제외하고 고유 키에서 사용할 수 있습니다. 주: 테이블에 사용할 수 없는 다른 키가 있거나 테이블에 키가 전혀 없는 경우 Oracle GoldenGate는 적절한 메시지를 보고서 파일에 기록합니다. 모든 열에서 키를 구성하면 소스 시스템에서 Oracle GoldenGate의 성능이 저하됩니다. 대상에서 이 키로 인해 Replicat는 더 크고 덜 효율적인
WHERE절을 사용합니다.
- 테이블에 적절한 키가 없거나 기존 키가 사용되지 않도록 하려는 경우 테이블에 항상 고유한 값을 포함하는 열이 있는 경우 대체 키를 정의할 수 있습니다. Extract
TABLE매개변수 및 ReplicatMAP매개변수 내에 KEYCOLS 절을 포함하여 이 대체 키를 정의합니다. 지정된 키는 Oracle GoldenGate가 찾은 기존 기본 또는 고유 키를 무효화합니다. Oracle GoldenGate용 매개변수 및 함수 참조의 TABLE | MAP를 참조하십시오.