DDL의 처리 평가 방법

Oracle GoldenGate 매개변수의 서로 다른 기준이 처리되는 순서와 각 Extract와 Replicat가 DDL을 처리하는 방식의 차이점에 대해 알아봅니다.

추출 1. Extract는 DDL 문을 캡처합니다.

  1. Extract는 기본 명령문에서 주석(있는 경우)을 구분합니다.

  2. Extract는 DDL 매개변수를 검색합니다. (이 예에서는 해당 상황이 있다고 가정합니다.)

  3. Extract는 IGNOREREPLICATES 매개변수를 검색합니다. 이 DDL이 존재하고 Replicat가 이 시스템에서 이 DDL을 생성한 경우 Extract는 DDL 문을 무시합니다. 이 예에서는 이 시스템에서 Replicat 작업을 수행하지 않는다고 가정합니다.

  4. Extract는 DDL 문이 RENAME인지 여부를 결정합니다. 이 경우 이름 바꾸기가 내부적으로 플래그 지정됩니다.

  5. Extract는 기본 객체 이름을 가져오고, 있는 경우 파생된 객체 이름을 가져옵니다.

  6. 명령문이 RENAME인 경우 Extract는 명령문을 ALTER TABLE RENAME로 변경합니다.

  7. Extract는 DDLOPTIONS REMOVECOMMENTS BEFORE 매개변수를 검색합니다. 주석이 있는 경우 Extract는 DDL 문에서 주석을 제거하지만 INSTR 또는 INSTRCOMMENTS를 사용하는 DDL INCLUDE 또는 DDL EXCLUDE 절이 있는 경우 주석을 저장합니다.

  8. Extract는 DDL 범위를 결정합니다. MAPPED, UNMAPPED 또는 OTHER:

    • 작업 및 객체 유형이 매핑에 대해 지원되고 기본 객체 이름 및/또는 파생된 객체 이름(RENAME인 경우)이 TABLE 매개변수에 있는 경우 MAPPED입니다.

    • 작업 및 객체 유형이 매핑에 대해 지원되지 않고 기본 객체 이름 및/또는 파생된 객체 이름(RENAME인 경우)이 TABLE 매개변수에 없는 경우 UNMAPPED입니다.

    • 그렇지 않으면 작업이 OTHER로 식별됩니다.

  9. Extract는 INCLUDE 및 EXCLUDE 절에 대한 DDL 매개변수를 검사하며, 해당 절에서 DDL 매개변수 조건을 평가합니다. INCLUDE 또는 EXCLUDE가 TRUE로 평가되도록 하려면 모든 옵션이 TRUE로 평가되어야 합니다. 다음 동작이 발생합니다.

    • EXCLUDE 절이 TRUE로 평가되면 Extract는 DDL 문을 삭제하고 다른 DDL 문을 평가합니다. 이 경우 처리 단계가 다시 시작됩니다.

    • INCLUDE 절이 TRUE로 평가되거나 DDL 매개변수에 INCLUDE 또는 EXCLUDE 절이 없는 경우 Extract는 DDL 문을 포함하며 처리 논리가 계속됩니다.

  10. Extract는 DDLSUBST 매개변수를 검색하고 INCLUDE 및 EXCLUDE 절을 평가합니다. 해당 절의 기준이 TRUE까지 추가되면 Extract는 문자열 대체를 수행합니다. Extract는 매개변수 파일의 각 DDLSUBST 매개변수에 대해 DDL 문을 평가합니다. 모든 실제 DDLSUBST 사양에 대해 Extract는 파일에 DDLSUBST 매개변수가 나열된 순서대로 문자열 대체를 수행합니다.

  11. 이제 DDLSUBT가 처리되었으므로 Extract는 REMOVECOMMENTS AFTER 매개변수를 검색합니다. 주석이 있는 경우 Extract는 DDL 문에서 주석을 제거합니다.

  12. 추출은 DDLOPTIONS ADDTRANDATA를 검색합니다. 있는 경우 및 작업이 CREATE TABLE인 경우 Extract가 테이블에서 ALTER TABLE name ADD SUPPLEMENTAL LOG GROUP 명령을 실행합니다.

  13. Extract는 DDL 문을 트레일에 씁니다.