인출 옵션

유효 기간

Extract

설명

FETCHOPTIONS 매개변수를 사용하여 Oracle GoldenGate가 다음 상황에서 데이터를 인출하는 방식의 특정 측면을 제어할 수 있습니다.

FETCHOPTIONS는 테이블마다 다릅니다. 하나의 FETCHOPTIONS 문은 다른 FETCHOPTIONS 문이 발견될 때까지 이후의 모든 TABLE 문에 적용됩니다.

기본 인출 속성은 대부분의 설치에 적합합니다.

기본값

누락된 행을 무시하고 처리를 계속하십시오.

구문

FETCHOPTIONS
[, FETCHPKUPDATECOLS]
[, MISSINGCOLS]
[, INCONSISTENTROW <action>]
[, MAXFETCHSTATEMENTS <number>]
[, MISSINGROW <action>]
[, NOFETCH]
[, SUPPRESSDUPLICATES]
[, USEKEY | NOUSEKEY]
[, USELATESTVERSION | NOUSELATESTVERSION]
[, USESNAPSHOT | NOUSESNAPSHOT]
[, USEROWID | NOUSEROWID]

FETCHPKUPDATECOLS

기본 키가 갱신될 때 사용할 수 없는 모든 열을 패치(fetch)합니다. 이 옵션은 기본적으로 해제되어 있습니다. 끄면 활성화된 다른 FETCHOPTIONS 옵션에 따라 열 인출이 수행됩니다.

설정하면 Primary Key 열을 갱신하는 동안에만 적용됩니다. 결과는 TABLE 문에서 (*)를 사용하는 것과 동일합니다. LOB 열이 인출에 포함됩니다.

HANDLECOLLISIONS.를 사용할 때 이 매개변수를 사용합니다. Replicat가 누락된 업데이트를 감지하면 모든 열을 사용하여 업데이트를 삽입으로 전환할 수 있습니다.

MISSINGCOLS

LOB 열을 포함하여 업데이트 및 삭제 작업에서 누락된 열을 인출합니다. 이 옵션은 Oracle AI Database에만 유효합니다. 데이터 인출을 위한 추가 질의로 인해 데이터베이스 및 Extract 성능에 부정적인 영향을 줄 수 있습니다. 특히 트레일에서 패치(fetch) 및 기록해야 하는 LOB 값이 큰 경우 더욱 그렇습니다.

이 파라미터를 설정하는 것은 다음 파라미터를 설정하는 것과 동일합니다.

MISSINGCOLS(*) in the TABLE statement
NOCOMPRESSDELETES FETCHMISSINGCOLS
GETUPDATEBEFORES
NOCOMPRESSUPDATES
LOGALLSUPCOLS

그러나 FETCHOPTIONS MISSINGCOLS 설정은 다음 매개변수와 충돌합니다.

FETCHOPTIONS NOFETCH
FETCHOPTIONS FETCHPKUPDATECOLS
COMPRESSDELETES
COMPRESSUPDATES
GETUPDATEBEFORES
LOGALLSUPCOLS

INCONSISTENTROW <action>

열 데이터가 ID 행으로 성공적으로 인출되었지만 키가 일치하지 않음을 나타냅니다. ID 행이 재활용되었거나 이 작업 이후(및 인출 전) 기본 키 업데이트가 발생했습니다.

<action>은 다음 중 하나가 될 수 있습니다.

ALLOW

조건을 허용하고 처리를 계속합니다.

IGNORE

조건을 무시하고 처리를 계속합니다. 이는 기본값입니다.

REPORT

행의 조건 및 내용을 폐기 파일로 보고하되 부분 행은 계속 처리하십시오.

DISCARD

데이터를 폐기하고 부분 행을 처리하지 않습니다.

ABEND

데이터를 폐기하고 처리를 종료합니다.

MAXFETCHSTATEMENTS <number>

Extract가 소스 데이터베이스에서 행 데이터를 인출하는 데 사용할 수 있는 최대 허용 가능한 준비된 질의 수를 제어합니다. 인출된 데이터는 트랜잭션 로그 레코드에서 논리적 SQL 문을 생성하는 데 사용 가능한 정보가 충분하지 않을 때 사용됩니다. 질의는 필요에 따라 준비 및 캐시에 저장됩니다. MAXFETCHSTATEMENTS로 설정된 값에 도달하면 가장 오래된 질의가 최신 질의로 바뀝니다. 이 매개변수의 값은 인출 질의에 대해서만 Extract가 유지 관리하는 열린 커서 수를 제어합니다. Extract는 저장 프로시저에 필요한 커서와 같은 다른 목적으로 추가 커서를 사용할 수 있습니다. 이 매개변수는 Oracle AI Database에 대해서만 적합합니다. 기본값은 100개 명령문입니다. 데이터베이스가 지정된 커서 수와 다른 응용 프로그램 및 프로세스에서 사용되는 커서를 지원할 수 있는지 확인합니다.

MISSINGROW <action>

Oracle GoldenGate가 인출할 행을 찾을 수 없는 경우 응답을 제공하여 행의 일부(변경된 값)만 처리할 수 있도록 합니다. 일반적으로 행은 변경 레코드가 생성된 시간과 패치(fetch)가 트리거된 시기 또는 필요한 행 이미지가 언두 Retention 사양보다 이전이어서 삭제된 경우에는 찾을 수 없습니다.

<action>는 다음 중 하나가 될 수 있습니다.

ALLOW

조건을 허용하고 처리를 계속합니다. 이는 기본값입니다.

IGNORE

조건을 무시하고 처리를 계속합니다.

REPORT

행의 조건 및 내용을 폐기 파일로 보고하되 부분 행은 계속 처리하십시오.

DISCARD

데이터를 폐기하고 부분 행을 처리하지 않습니다.

ABEND

데이터를 폐기하고 처리를 종료합니다.

NOFETCH

Extract가 데이터베이스에서 열을 인출하지 못하도록 합니다. 이 옵션은 기본적으로 해제되어 있습니다. Extract는 트레일에 레코드를 기록하지만 열이 누락되었다는 토큰을 삽입합니다.

SUPPRESSDUPLICATES

Oracle의 경우 적합합니다. LOB 열에서 갱신할 때 대상 테이블스페이스가 지나치게 커지는 것을 방지합니다. 기본적으로 SUPPRESSDUPLICATES는 off로 설정됩니다. 예를 들어, 복제 후 232MB의 소스 테이블스페이스가 7.52GB의 대상 테이블스페이스가 됩니다.

USEKEY NOUSEKEY

Oracle GoldenGate에서 기본 키를 사용하여 인출할 행을 찾을지 여부를 결정합니다.

USEKEY 및 USEROWID가 모두 지정된 경우 ROWID가 레코드에 더 빠르게 접근할 수 있도록 우선합니다. 기본값은 USEROWID입니다.

USELATESTVERSION NOUSELATESTVERSION

Oracle의 경우 적합합니다. USESNAPSHOT와 함께 사용합니다. 기본값인 USELATESTVERSION는 Extract가 언두 테이블스페이스에서 인출할 수 없는 경우 소스 테이블에서 데이터를 인출하도록 지정합니다. NOUSELATESTVERSION는 스냅샷 인출이 실패할 경우 Extract가 조건을 무시하도록 지시하고 처리를 계속합니다.

스냅샷 인출이 실패할 경우 대체 작업을 제공하려면 MISSINGROW 옵션을 사용합니다.

USESNAPSHOT NOUSESNAPSHOT

Oracle의 경우 적합합니다. 기본값인 USESNAPSHOT를 사용하면 Extract가 리두 레코드에서 완전히 캡처할 수 있는 특정 작업을 재구성하기 위해 Oracle Flashback 방식을 사용하여 정확한 데이터 스냅샷을 인출할 수 있습니다. NOUSESNAPSHOT를 사용하면 Extract가 플래시백 로그 대신 소스 테이블에서 필요한 데이터를 인출합니다.

USEROWID NOUSEROWID

Oracle의 경우 적합합니다. Oracle GoldenGate가 ID 행을 사용하여 인출할 행을 찾을지 여부를 결정합니다.

USEKEY 및 USEROWID가 모두 지정된 경우 ROWID가 레코드에 더 빠르게 접근할 수 있도록 우선합니다. 기본값은 USEROWID입니다.

예제

예 1

다음은 Flashback Query를 사용하여 데이터를 패치(fetch)하고 조건을 무시한 다음 패치(fetch)가 실패할 경우 레코드를 계속 처리하도록 Extract에 지시합니다.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION

예 2

MAXFETCHSTATEMENTS 150

예 3

다음은 Extract가 Flashback Query를 사용하여 데이터를 패치(fetch)하도록 지시하고, 데이터를 사용할 수 없는 경우 Extract가 비정상 종료되도록 합니다.

FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW ABEND