소스에서 대상으로 테이블 전개 변경사항 전달
Oracle GoldenGate는 누락된 테이블 이벤트를 포함하여 테이블 변경 사항을 복제합니다. AUTOSCHEMA가 사용으로 설정된 경우 테이블 매핑 중 특히 추적 파일에서 TDR(테이블 정의 레코드)을 처리하는 동안 누락된 테이블 이벤트가 감지됩니다.
다음 단계에서는 이 워크플로우에 대해 설명합니다.
-
Replicat는 대상 테이블의 메타데이터 분석을 시도합니다.
object not found오류로 인해 메타 데이터 분석이 실패하면 대상 테이블이 대상 데이터베이스에 존재하지 않음을 나타냅니다. -
AUTOSCHEMA기능이 사용으로 설정된 경우 누락된 대상 테이블에 대한CREATE TABLE문이 TDR 레코드의 소스 메타데이터를 기반으로 생성됩니다.-
대상 데이터베이스 유형을 기반으로 하는 기본 데이터 유형 매핑 템플리트는 대상 테이블의 열에 적합한 데이터 유형을 선택하는 동안 사용됩니다.
-
CREATE TABLE문은 사용자 환경 설정(지정된 경우)을 고려하여 대상 데이터베이스의 SQL 구문을 기반으로 생성됩니다. 다음 기본 설정을 지정할 수 있습니다.-
Replicat 매개변수 파일에 있는 해당 MAP statemenet의
TARGET절에 지정된 대상 테이블 이름입니다. -
기본적으로 대상 테이블 열의 이름은 소스 테이블 열과 동일하지만
COLMAP를 사용하여 다른 이름을 선택할 수 있습니다. -
TYPEMAP를 사용하여 특정 소스 데이터 유형 이름(또는 소스 열)에 대한 사용자정의 데이터 유형 이름(대상 데이터베이스에서 사용 가능)을 선택할 수 있습니다. 소스 및 대상 데이터베이스 간에 지원되는 데이터 유형(및 해당 제한)이 다를 수 있는 경우에 적합합니다.
-
-
-
생성된
CREATE TABLE문을 사용하여 새 테이블 생성은 작업이 구성된 필터링 조건(예:INCLUDE/EXCLUDE규칙)을 충족하는 경우 복제 프로세스에 의해 자동으로 처리됩니다. 일시적인 문제가 발생할 경우 시스템은 구성된 재시도 설정에 따라 변경 사항을 여러 번 적용하려고 시도합니다. 이러한 재시도 후에도 변경 사항을 적용할 수 없는 경우 복제가 중지되고 오류가 보고됩니다.
대상 테이블에서 열 전개 전달
테이블 매핑 중 대상 테이블 이벤트에서 누락된 열이 감지되었습니다. 더 구체적으로는 TDR(테이블 정의 레코드)을 처리하는 동안입니다.
-
Replicat는 대상 테이블의 메타데이터 분석을 시도합니다. 이 경우 대상 테이블이 존재하므로 메타 데이터 분석은 실패하지 않지만 적합한 대상 테이블 정의 구조가 반환됩니다.
-
AUTOSCHEMA가 사용으로 설정된 경우 수신 TDR 레코드의 소스 테이블 메타데이터와 대상 테이블 정의의 메타데이터가 비교됩니다. 이는 TDR 레코드의 소스 테이블 메타데이터에서 이전 단계에서 검색된 대상 테이블 정의에서 사용할 수 없는 추가 열을 감지하기 위한 것입니다.-
대상 데이터베이스 유형에 따른 기본 데이터 유형 매핑 템플리트는 대상 테이블의 새 열에 가장 적합한 데이터 유형을 선택할 때 사용됩니다.
-
ALTER TABLE ADD COLUMN문은 대상 데이터베이스의 SQL 구문에 따라 생성됩니다.특정 소스 데이터 유형 이름(또는 소스 열)에 대해 대상 데이터베이스에서 사용할 수 있는 사용자 정의 데이터 유형 이름을 선택할 수 있습니다. 소스 및 대상 데이터베이스 간에 지원되는 데이터 유형(및 해당 제한)이 다를 수 있는 경우에 적합합니다.
-
-
식별된 추가 열이 있는 경우 기존 대상 테이블에 대한
ALTER TABLE ADD COLUMN문은 TDR 레코드의 소스 메타데이터(더 구체적으로 TDR 레코드의 추가 열)를 기반으로 생성됩니다.
생성된 ALTER TABLE DDL의 실행은 해당 DDL이 DDL 파일 문자열 조건을 통과하는 경우에만 기존 DDL 복제 기반구조에 의해 수행됩니다(OBJTYPE/OPTYPE/OBJNAME 옵션이 있는 DDL INCLUDE/EXCLUDE 조건). DDL 복제 기반구조가 AUTOSCHEMA에도 사용되므로 치명적이지 않은 오류 코드에 대한 재시도 논리도 사용됩니다. 또한 재시도 로직에는 구성 가능한 재시도 횟수와 재시도 간격이 있습니다. 재시도 후에도 생성된 DDL 실행이 실패하면 Replicat가 비정상 종료됩니다.