딜러러
유효 기간
추출 및 복제
설명
DDLERROR 매개변수를 사용하여 소스 및 대상 시스템의 DDL 오류를 처리합니다. 옵션은 Extract 및 Replicat에 사용할 수 있습니다.
추출에 대한 DDLERROR
DDLERROR 매개변수의 Extract 옵션을 사용하여 메타데이터를 찾을 수 없는 Extract에서 발견된 객체에 대한 오류를 처리합니다.
기본값
비정상 종료
구문
DDLERROR [RESTARTSKIP <number_of_skips>] [RETRYDELAY <seconds>] [SKIPTRIGGERERROR <number_of_errors>]
RESTARTSKIP <number_of_skips>
추출이 시작 시 특정 개수의 DDL 작업을 건너뛰고 무시함으로써 오류 시 추출이 비정상 종료되지 않도록 하려면 Extract를 사용합니다. 기본적으로 DDL 오류로 인해 Extract가 비정상 종료되므로 작업을 건너뛰지 않습니다. 적합한 값은 1에서 100000까지입니다.
건너뛴 작업에 대한 정보를 추출 보고서 파일에 쓰려면 DDLOPTIONS 매개변수를 REPORT 옵션과 함께 사용합니다.
SKIPTRIGGERERROR <number_of_errors>
(Oracle) Extract가 시작 시 DDL 트리거로 인해 발생한 특정 개수의 DDL 오류를 건너뛰고 무시합니다. 적합한 값은 1에서 100000 사이입니다.
RESTARTSKIP 옵션 앞에 SKIPTRIGGERERROR가 선택되어 있습니다. Extract가 트리거 오류로 인해 DDL 작업을 건너뛰는 경우 해당 작업은 RESTARTSKIP 사양으로 계산되지 않습니다.
Replicat에 대한 DDLERROR
DDLERROR 매개변수의 Replicat 옵션을 사용하여 DDL가 대상 데이터베이스에 적용될 때 발생하는 오류를 처리합니다. DDLERROR 옵션을 사용하면 대부분의 오류를 기본 방식으로 처리할 수 있습니다(예: 처리 중지, 특정 방식으로 다른 오류 처리). 동일한 매개변수 파일에 있는 DDLERROR의 여러 인스턴스를 사용하여 예상되는 모든 오류를 처리할 수 있습니다.
기본값
비정상 종료
구문
DDLERROR
{<error> | DEFAULT} {<response>}
{INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>}
[IGNOREMISSINGOBJECTS | ABENDONMISSINGOBJECTS]
[RETRYDELAY <seconds>]
{<error> | DEFAULT} {<response>}
<error>
이 DDLERROR 문이 처리할 명시적 DDL 오류를 지정합니다.
DEFAULT
명시적 DDLERROR 문이 없는 DDL 오류에 대한 기본 <response>를 지정합니다.
<response>
DDL <error>가 발생할 때 Replicat에서 수행한 작업입니다. 다음 중 하나일 수 있습니다.
ABEND
작업을 롤백하고 비정상적으로 처리를 종료합니다. 기본값은 ABEND입니다.
DISCARD
잘못된 작업을 폐기 파일에 기록하되 이후 DDL 처리를 계속합니다.
IGNORE
오류를 무시합니다.
{INCLUDE <inclusion_clause> | EXCLUDE <exclusion_clause>}
특정 DDL가 DDLERROR 문에 의해 처리되는지 여부를 제어하는 포함 또는 제외 절의 시작을 식별합니다. 구문 및 사용법은 "DDL Filtering Options"를 참조하십시오.
[IGNOREMISSINGOBJECTS |
ABENDONMISSINGOBJECTS] |
대상에서 찾을 수 없는 객체에 대해 DML가 실행될 때 Extract 비정상 종료 여부를 제어합니다. 이 조건은 일반적으로 복제 구성에 없는 DDL가 대상에서 직접 실행되거나 소스 정의와 대상 정의 간에 불일치가 있을 때 발생할 수 있습니다.
IGNOREMISSINGOBJECTS
Replicat가 누락된 테이블에 대한 DML 작업을 건너뜁니다.
ABENDONMISSINGOBJECTS
누락된 테이블의 DML 작업에 대해 Replicat가 비정상 종료되도록 합니다.
[RETRYDELAY <seconds>]
실패한 작업을 재시도하려는 시도 사이의 지연 시간(초)을 지정합니다. 기본값은 10초입니다.
예제
예 1 DDLERROR 기본 예
다음 예에서 DDLERROR 문은 지정된 오류를 무시하지만 10초 간격으로 작업을 세 번 다시 시도하기 전에는 무시하지 않도록 합니다. Replicat는 이름이 tab*의 와일드카드(모든 사용자, 모든 작업)를 충족하는 객체에 대해 실행된 DDL 작업에 오류 처리를 적용합니다. 단, tab1*를 만족하는 작업은 제외합니다.
DDLERROR 1234 IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 10 &
INCLUDE ALL OBJTYPE TABLE OBJNAME tab* EXCLUDE OBJNAME tab1*
이 오류를 제외한 모든 오류를 처리하기 위해 다음 DDLERROR 문을 추가할 수 있습니다.
DDLERROR DEFAULT ABEND
이 경우 Replicat는 DDL 오류에 대해 비정상 종료됩니다.
여러 DDLERROR 문을 사용하는 예제 2
여러 DDLERROR 문이 추가 한정자 없이 동일한 오류를 지정하지 않는 한 매개변수 파일에 DDLERROR 문을 나열하는 순서는 해당 유효성에 영향을 주지 않습니다. 이 경우 Replicat는 나열된 첫번째 항목만 사용합니다. 예를 들어, 다음 명령문이 제공된 경우 Replicat가 오류에 대해 비정상 종료됩니다.
DDLERROR 1234 ABEND
DDLERROR 5678 IGNORE
그러나 적절한 한정자를 사용하면 이전 구성이 더 유용해집니다. 예:
DDLERROR 1234 ABEND INCLUDE OBJNAME tab*
DDLERROR 5678 IGNORE
이 경우 INCLUDE 문이 있으므로 에런트 DDL 문의 객체 이름이 와일드카드 tab*와 일치하는 경우에만 Replicat가 비정상 종료됩니다. Replicat는 다른 객체 이름을 포함하는 에런트 작업을 무시합니다.