TRANLOGOPTIONS
유효 기간
Extract
설명
TRANLOGOPTIONS 매개변수를 사용하여 Extract가 데이터베이스 또는 캡처 모드에 따라 트랜잭션 로그 또는 트랜잭션 데이터를 전달하는 API와 상호 작용하는 방식을 제어할 수 있습니다. 동일한 매개변수 파일에 여러 TRANLOGOPTIONS 문을 사용하거나, 동일한 TRANLOGOPTIONS 문 안에 여러 옵션을 지정할 수 있습니다(해당 옵션이 허용 가능한 경우).
지정된 TRANLOGOPTIONS 옵션은 의도된 데이터베이스에 대해서만 사용합니다.
기본값
없음
구문
TRANLOGOPTIONS {[ALLOW_BINLOG_ROW_METADATA_MINIMAL]
[ALLOWTABLECOMPRESSION][ALTLOGDEST <path> | REMOTE]
[ALWAYSONREADONLYROUTING]
[ASMUSERALIAS <alias> [DOMAIN <domain>]]
[ASYNCTRANSPROCESSING <buffer_size>]
[BUFSIZE <size>]
[CHECKPOINTRETENTIONTIME <days>][DB2APIRETRY <retry_count>]
[DB2ZV11COMPATIBILITYMODE]
[DICTIONARY_CACHE_SIZE <value>]
[DLFAILOVER_TIMEOUT <seconds>]
[DISABLESOFTEOFDELAY]
[EXCLUDEFILTERTABLE <table>]
[EXCLUDETAG {<tag> | + | NULL}]
[EXCLUDETRANS <transaction>]
[EXCLUDEUSER <user>]
[EXCLUDEUSERID <Oracle_uid>][FAILOVERTARGETDESTID <n>][FETCHPARTIALJSON]
[FETCHPARTIALLOB][FETCHPARTIALXML]
[FORCEFETCHLOB]
[GETCTASDML | NOGETCTASDML][HANDLEDLFAILOVER [STANDBY_WARNING | STANDBY_ABEND]]
[IFILOCKSECONDS]
[IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES]
[INCLUDEAUX (<AUX_specification>)]
[INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET]
[INTEGRATEDPARAMS]
[INCLUDETAG <tag>]
[ENABLE_PROCEDURAL_REPLICATION Y]
[ENABLE_AUTO_CAPTURE | DISABLE_AUTO_CAPTURE]
[LOB_CHUNK_SIZE <size>]
[MAXAUTOCMTTRANSSIZE (<range>, <default>)]
[LOGREADTIMEOUT <value>]
[MININGUSERIDALIAS <alias> [DOMAIN <domain>]][MIXEDENDIAN [ON|OFF]]
[MANAGECDCCLEANUP | NOMANAGECDCCLEANUP ]
[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]
[PERFORMANCEPROFILE HIGH|MEDIUM|LOW_RES|LOW_WORKLOAD][QUERYTIMEOUT <seconds>]
[QUERYRETRYCOUNT <seconds>]
[READQUEUESIZE <size>]
[READTIMEOUT <milliseconds>]
[REDO_TRANSPORT_LAG_THRESHOLD <seconds>]
[REDO_TRANSPORT_LAG_TIMEOUT <value>]
[REMOTESCHEMA <value>]
[REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES]
[SOURCE_OS_TIMEZONE <timezone>]
[SKIPUNKNOWNEVENT] [STREAMINGOPTIONS (publication_names=<pub_name1>, <pub_name2>, <pub_name3>)
[SUPPRESSNOOOPUPDATES]
[TRACKSCHEMACHANGES | NOTRACKSCHEMACHANGES]
[TRANCOUNT <integer>]
[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]
[VALIDATEINLINESFLOB]
[USE_ROOT_CONTAINER_TIMEZONE]
[USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT]
[VERSIONCHECK DYNAMIC | IMMEDIATE][WARNCREATEASSELECT]
}
[ALLOW_BINLOG_ROW_METADATA_MINIMAL]
MySQL의 경우 적합합니다
추출 매개변수 파일에 ALLOW_BINLOG_ROW_METADATA_MINIMAL를 사용하여 MINIMAL로 설정된 MySQL Server 변수 BINLOG_ROW_METADATA를 계속 사용합니다.
MySQL Server BINLOG_ROW_METADATA 변수는 TRACKSCHEMACHANGES 및 DDL 복제와 같은 기능을 지원하지 않습니다. 이러한 기능을 사용하려면 MySQL 서버 구성 파일 내에서 BINLOG_ROW_METADATA를 Full로 설정합니다. 이러한 기능이 필요하지 않은 경우 MINIMAL를 ALLOW_BINLOG_ROW_METADATA_MINIMAL 매개변수와 함께 계속 사용합니다.
ALWAYSONREADONLYROUTING
SQL Server의 경우 적합합니다
ALWAYSONREADONLYROUTING 매개변수를 사용하면 Extract for SQL Server가 Always On 가용성 그룹 리스너에 접속된 경우 읽기 전용 처리를 사용 가능한 읽기 의도 보조로 경로 지정할 수 있습니다.
ALTLOGDEST <path | REMOTE>
MySQL의 경우 적합합니다.
MySQL 로그 인덱스 파일의 위치를 지정합니다. Extract는 데이터베이스 기본 위치 대신 이 위치에서 로그 파일을 찾습니다. ALTLOGDEST는 데이터베이스 구성에 로그에 대한 전체 경로 이름이 포함되지 않거나 시스템에 여러 MySQL 설치가 있는 경우에 사용할 수 있습니다. Extract는 로그 인덱스 파일을 읽어 읽어야 하는 이진 로그 파일을 찾습니다. ALTLOGDEST를 사용할 경우 Extract는 로그와 인덱스가 동일한 위치에 있다고 가정합니다.
디렉토리에 대한 전체 경로 이름을 제공합니다.
Windows에서는 다음 예와 같이 경로에 공백이 포함된 경우 경로를 큰따옴표로 묶습니다.
TRANLOGOPTIONS ALTLOGDEST "C:\Program Files\MySQL\MySQL Server
5.7\log\binlog.index"
Linux 시스템:
TRANLOGOPTIONS ALTLOGDEST "/mnt/rdbms/mysql/data/logs/binlog.index"
원격 MySQL 데이터베이스에 대해 캡처하는 경우 인덱스 파일 경로 대신 REMOTE 옵션을 사용합니다. 또한 ALTLOGDEST가 지정되지 않은 경우 시스템은 옵션을 REMOTE로 가정합니다.
원격 캡처의 Extract 파라미터 파일에서 다음을 지정합니다.
TRANLOGOPTIONS ALTLOGDEST REMOTE
REMOTE 옵션 사용에 대한 자세한 내용은 로깅 속성 구성을 참조하십시오.
ASYNCTRANSPROCESSING <buffer_size>
Oracle의 통합 캡처 모드에서 Extract에 적합합니다.
통합 캡처가 비동기 처리 모드에서 실행되는지 동기 처리 모드에서 실행되는지를 제어하고 Extract가 비동기 모드에 있는 경우 버퍼 크기를 제어합니다. 최소값은 1이고 최대값은 1024이며 기본값은 300입니다.
ASYNCTRANSPROCESSING <buffer_size>
비동기 <transaction> 처리 모드에서는 두 개의 제어 스레드가 있습니다.
-
하나의 스레드는 LCR(논리적 변경 레코드)을 트랜잭션으로 그룹화하고, 객체 레벨 필터링을 수행하며, 부분 롤백 처리를 수행합니다.
-
다른 스레드는 커밋된 트랜잭션의 형식을 지정하고, 유저가 지정한 변형을 수행하고, 트레일 파일에 기록합니다.
트랜잭션 버퍼는 이러한 두 스레드 사이의 버퍼이며 한 스레드에서 다른 스레드로 작업을 전송하는 데 사용됩니다. 기본 트랜잭션 버퍼 크기는 커밋된 트랜잭션 300개이지만, 캐시 메모리가 거의 소진될 경우 Oracle GoldenGate 메모리 관리자가 아래쪽으로 조정합니다.
NOASYNCTRANSPROCESSING
비동기 처리를 사용 안함으로 설정하며 Extract가 동기 모드로 작동하도록 합니다. 이 모드에서는 한 스레드가 모든 캡처 작업을 수행합니다.
BUFSIZE <size>
Db2 LUW 및 Db2 z/OS에 적합합니다. Oracle GoldenGate 19c 이상에서 i의 경우 Db2에 적합합니다. Oracle GoldenGate 21c 이상의 Oracle AI 데이터베이스에 적합합니다.
트랜잭션 로그에서 읽은 데이터를 포함하기 위해 할당된 버퍼의 최대 크기(바이트)를 제어합니다.
값이 높으면 캡처 속도가 빨라지지만 Extract가 더 많은 메모리를 소비하게 됩니다. 값이 작으면 메모리 사용량이 줄어들지만 Extract는 캐시 크기를 초과하는 데이터를 디스크에 저장해야 하므로 I/O가 증가합니다.
Oracle AI Database의 경우 DDL 작업 레코드 크기는 Oracle GoldenGate 내부 레코드 캡처 버퍼 크기로 제한됩니다. DDL 크기는 최대 Oracle RDBMS 크기 제한일 수 있습니다. Oracle 데이터베이스 21c에서는 10MB보다 큰 DDL를 생성할 수 있지만 최대 내부 레코드 캡처 버퍼 크기는 10MB로 제한됩니다.
<default> 버퍼 <size>는 리두 데이터의 소스에 의해 결정됩니다. 다음은 유효한 범위와 <default> 크기(바이트)입니다.
Db2 LUW:
-
최소값: 8,192
-
최대값: 10,000,000
-
기본값: 204,800
-
앞의 값은 4096 페이지 크기의 배수여야 합니다. 지정된 값이 이 요구 사항을 충족하지 않는 경우 Extract는 배수로 자릅니다.
i의 경우 Db2 z/OS 및 Db2:
-
최소: 36KB(36864)
-
최대: 32MB(33554432)
-
기본값: 2MB(2097152)
-
앞의 값은 4096 페이지 크기의 배수여야 합니다. 지정된 값이 이 요구 사항을 충족하지 않는 경우 Extract는 배수로 자릅니다.
-
각 Extract는 Extract가 접속하는 Db2 z/OS 시스템에서 ECSA의 고정 32bytes를 사용합니다. 이것은 i의 Db2에 적용되지 않습니다.
CHECKPOINTRETENTIONTIME <days>
Oracle에 대해서만 통합 모드의 Extract에 적합합니다.
Extract가 체크포인트를 비우기 전에 유지하는 일수를 제어합니다. 소수 값을 사용하여 부분 일수를 지정할 수 있습니다. 예를 들어, 8.25는 8일과 6시간을 지정합니다. 통합 캡처 모드의 Extract 체크포인트가 지워지면 체크포인트에 해당하는 아카이브된 리두 로그 파일의 LogMiner 데이터 딕셔너리 정보를 비우면, 캡처 프로세스의 first_scn 값이 그 다음 아카이브된 리두 로그 파일의 첫번째 변경에 해당하는 SCN 값으로 재설정됩니다. 기본값은 7일이고 최소값은 0.00001입니다.
DB2APIRETRY <number> 재시도
Extract가 Db2 로그 읽기 API db2ReadLog(),에서 오류를 수신하면 특정 오류에 대해 API 호출이 재시도됩니다. DB2APIRETRY를 사용하여 재시도 횟수를 변경합니다. 기본 재시도 횟수는 3회로 설정됩니다. API가 재시도되는 SQL 코드는 SQLCODE -30108입니다.
DB2ZV11COMPATIBILITYMODE
Db2 z/OS에 대해 Extract에 적합합니다.
Oracle GoldenGate를 사용하여 일부 호환성 모드에서 Db2 z/OS 버전 11에서 추출하는 경우 추출 프로세스가 프로그래밍 방식으로 실제 데이터베이스 버전을 결정하지 못할 수 있으며 OGG-00551 또는 OGG-00804 오류가 발생할 수 있습니다. 추출 매개변수 파일에서 이 옵션을 사용하여 필요한 데이터베이스 버전을 수동으로 설정합니다.
DICTIONARY_CACHE_SIZE <value>
Extract에서 딕셔너리 캐시 크기를 조정하려면 이 옵션을 사용합니다. 기본값은 5000입니다. PERFORMANCEPROFILE가 HIGH로 설정된 경우 기본값은 10000입니다.
DLFAILOVER_TIMEOUT <seconds>
Oracle의 통합 모드에서 Extract에 적합합니다.
대기 데이터베이스 복원 사후 롤 전환을 허용하도록 구성 가능한 시간 초과(초)를 제공합니다. HANDLEDLFAILOVER와 함께 사용되어 통합 Extract가 롤 전환 후 즉시 시작되도록 합니다. 시간 초과 기간이 끝날 때 대기 데이터베이스를 계속 사용할 수 없는 경우 Extract가 종료됩니다.
기본값은 300초입니다. 센티초 또는 밀리초를 사용할 수도 있습니다.
DISABLESOFTEOFDELAY
Oracle 및 Db2 LUW에 대한 통합 모드에서만 Extract에 적합합니다.
Extract 매개변수 파일에서 DISABLESOFTEOFDELAY를 사용하여 반환할 레코드가 없는 EOF 상태가 보고될 때 대기 시간이 적용되도록 설정합니다.
ENABLE_AUTO_CAPTURE |
DISABLE_AUTO_CAPTURE |
auto_capture 모드를 활성화하여 자동 캡처를 위해 활성화된 테이블의 LCR을 전달하려면 이 옵션을 설정합니다. 이 옵션은 소스 데이터베이스의 Oracle 바이너리 버전이 21c 이상인 경우 설정할 수 있습니다.
EXCLUDETAG {<tag> | + | NULL}]
Extract의 경우 적합합니다. (Oracle 전용입니다)
EXCLUDETAG는 DBOPTIONS SET TAG 옵션을 사용하여 Replicat에서 또는 DBMS_XSTREAM_ADM.SET_TAG 프로시저를 사용하여 Oracle AI Database 세션 내에서 이전에 태그가 지정된 변경사항을 제외하는 데 사용됩니다.
EXCLUDETAG tag>를 사용하여 지정된 리두 태그로 태그 지정된 개별 레코드를 무시하도록 Extract 프로세스에 지시합니다.
태그가 지정되지 않은 모든 작업을 제외하려면 EXCLUDETAG NULL를 사용합니다. 이는 EXCLUDETAG + 반대입니다.
EXCLUDETAG +를 사용하여 리두 태그가 지정된 개별 레코드를 무시하도록 Extract 프로세스에 지시합니다.
예제
다음은 EXCLUDETAG에서 태그 지정자를 사용하는 방법의 예입니다.
태그가 지정된 모든 변경 사항을 제외하려면
TRANLOGOPTIONS EXCLUDETAG +
태그가 지정된 특정 변경 사항을 제외하려면
TRANLOGOPTIONS EXCLUDETAG 00
TRANLOGOPTIONS EXCLUDETAG 0952
EXCLUDETAG 및 INCLUDETAG 매개변수 사용 지침
EXCLUDETAG 및 INCLUDETAG 매개변수를 TRANLOGOPTIONS 및 DDLOPTIONS 명령과 함께 사용하는 동안 다음을 고려하십시오.
-
TRANLOGOPTIONS EXCLUDETAG/INCLUDETAG가 지정되고DDLOPTIONS EXCLUDETAG/INCLUDETAG가 지정되지 않은 경우TRANLOGOPIIONS EXCLUDETAG/INCLUDETAG매개변수가DML및DDL작업에 모두 적용됩니다. -
TRANLOGOPTIONS EXCLUDETAG/INCLUDETAG옵션이 지정되고DDLOPTIONS EXCLUDETAG/INCLUDETAG도 지정된 경우TRANLOGOPIIONS EXCLUDETAG/INCLUDETAG가DML작업에 적용되고DDLOPTIONS EXCLUDETAG/INCLUDETAG가DDL작업에 적용됩니다. -
TRANLOGOPTIONS EXCLUDETAG/INCLUDETAG가 지정되지 않고DDLOPTIONS EXCLUDETAG/INCLUDETAG가 지정된 경우DDLOPTIONS EXCLUDETAG/INCLUDETAG가DDL작업에 적용되고DML작업에 대한 태그 필터링이 없습니다. -
TRANLOGOPTIONS EXCLUDETAG/INCLUDETAG가 지정되지 않고DDLOPTIONS EXCLUDETAG/INCLUDETAG도 지정되지 않은 경우 태그가 지정된 모든DDL작업을 제외하는 기본 옵션DDLOPTIONS EXCLUDETAG +가 적용됩니다. -
DDLOPTIONS의 경우EXCLUDETAG및INCLUDETAG를 모두 지정할 때EXCLUDETAG가 먼저 와야 합니다.
EXCLUDETRANS <transaction>
Oracle용 통합 추출에 적합.
해당 트랜잭션이 Extract에 의해 캡처되지 않도록 Replicat 데이터베이스 사용자 또는 다른 사용자의 트랜잭션 이름을 지정합니다. 데이터베이스 간의 데이터 루핑을 방지하기 위해 양방향 처리에 사용합니다.
양방향 동기화에 대한 자세한 내용은 Oracle GoldenGate Microservices Documentation의 양방향 복제 구성을 참조하십시오.
EXCLUDEUSER <user>
Db2 LUW, z/OS의 경우 Db2, i의 경우 Db2, Oracle 및 Sybase의 경우 유효합니다.
필터로 사용할 Replicat 데이터베이스 사용자 또는 다른 사용자의 이름을 지정합니다. 일반적으로 이 옵션은 Replicat 트랜잭션을 제외하거나 캡처하기 위해 양방향 또는 캐스케이딩 처리 구성에서 Replicat 트랜잭션을 식별하는 데 사용됩니다. 그러나 특정 업무 응용 프로그램의 트랜잭션과 같은 다른 유저의 트랜잭션을 식별하는 데 사용될 수 있습니다.
EXCLUDEUSER 및 EXCLUDEUSERID를 동일한 매개변수 파일에 사용할 수 있습니다. 두 파라미터 중 하나에 와일드카드를 사용하지 마십시오.
사용자 이름은 적합해야 합니다. Oracle GoldenGate는 데이터베이스를 질의하여 연관된 사용자 ID를 가져오고 숫자 식별자를 다시 사용자 이름에 매핑합니다. 따라서 이름 분석이 기본값인 DYNAMICRESOLUTION로 설정된 상태에서 지정된 사용자가 삭제 및 재생성되면 EXCLUDEUSER가 유효한 상태로 유지됩니다. 이름 분석이 NODYNAMICRESOLUTION로 설정된 경우 동일한 트랜잭션이 수행되고, EXCLUDEUSER이 부적합해지고, Extract가 정지된 후 EXCLUDEUSER가 적용되도록 시작해야 하는 경우 DYNAMICRESOLUTION \| NODYNAMICRESOLUTION를 참조하십시오.
-
Db2 z/OS 지침: z/OS의 경우 Db2에서 사용자는 항상 트랜잭션의 기본 권한 부여
ID입니다. 이 권한 부여는 일반적으로 로그온한 원래 RACF 사용자의 권한이지만 트랜잭션 프로세서에 의해 변경되거나 Db2가 종료될 경우 다른 권한 부여ID일 수도 있습니다. -
Oracle 지침: Oracle AI Database의 경우 여러
EXCLUDEUSER문을 사용할 수 있습니다. 지정된 모든 사용자는 Replicat 사용자와 동일하게 간주됩니다.
예제
다음 Oracle 예제는 두 명의 사용자(이름별 및 사용자 ID별)를 필터링합니다. 이러한 사용자가 생성한 트랜잭션은 필터 태그를 사용하여 처리되고 새 트랜잭션 버퍼 크기가 지정됩니다.
TRANLOGOPTIONS EXCLUDEUSER ggsrep, EXCLUDEUSERID 90, BUFSIZE 100000
다중 테넌트와 함께 EXCLUDEUSER를 사용하려면 PDB.USERNAME를 지정해야 합니다. 다음 예에서는 PDBXYZ.SCOTT에서 수행한 DML 작업을 제외합니다.
TRANLOGOPTIONS EXCLUDEUSER PDBXYZ.SCOTT
EXCLUDEUSERID <Database_uid>
Oracle Extract에 적합합니다.
Replicat 데이터베이스 사용자 또는 다른 사용자의 데이터베이스 사용자 ID(uid)을 필터로 사용하도록 지정합니다. 이 매개변수는 다중 테넌트 추출에 유효하지 않습니다. 대신 태그 지정과 EXCLUDETAG를 사용하십시오.
사용법은 EXCLUDEUSER의 사용법과 동일합니다.
<Oracle_uid>는 최대값이 2147483638인 음수가 아닌 정수입니다. 사용자 ID를 가져오기 위해 질의할 수 있는 여러 시스템 뷰가 있습니다. 가장 간단한 것은 ALL_USERS 뷰입니다. Oracle GoldenGate는 사용자 ID를 검증하지 않습니다. 지정된 사용자 ID와 연관된 사용자가 삭제되고 재생성되면 새 사용자 ID가 지정되므로 해당 사용자에 대해 EXCLUDEUSERID가 잘못됩니다.
FAILOVERTARGETDESTID <n>
Oracle Extract에 적합합니다.
Oracle Data Guard 구성에서 Oracle GoldenGate Extract 프로세스를 사용하는 경우 GoldenGate 추출 프로세스는 Oracle Data Guard 대기 데이터베이스에 적용된 리두 뒤에 남아 있어야 합니다. FAILOVERTARGETDESTID 매개변수는 Extract가 남아 있어야 하는 페일오버 대상인 대기 데이터베이스를 가리키는 LOG_ARCHIVE_DEST_n 초기화 매개변수를 식별하는 데 사용됩니다. 이 매개변수는 HANDLEDLFAILOVER와 함께 Extract가 Oracle Data Guard 대기 데이터베이스의 적용 진행률을 기반으로 추적 데이터 쓰기를 제한할지 여부를 제어하는 데 사용됩니다. Data Guard 구성에 FSFO(Fast Start Failover)가 사용으로 설정된 경우 FAILOVERTARGETDESTID가 필요하지 않습니다. 최소값은 0, 최대값은 32, 기본값은 0입니다.
예제
TRANLOGOPTIONS FAILOVERTARGETDESTID Extract 매개변수에 적합한 값을 확인하려면 Extract가 데이터를 추출하는 데이터베이스에 접속한 후 다음 명령을 실행합니다.
SQL> show parameters log_archive_dest
NAME TYPE VALUE
-----------------------------------------------------------------------------
log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST,
valid_for=(ALL_LOGFILES, ALL_ROLES)
log_archive_dest_2 string service="ggs2d",
ASYNC NOAFFIRM delay=0 optional compression =disable max_failure=0
max_connections=1 reopen=300 db_unique_name="GGS2D" net_timeout=30,
valid_for=(online_logfile,all_roles)
Extract 매개변수 TRANLOGOPTIONS FAILOVERTARGETDESTID은 대기 데이터베이스 Oracle GoldenGate가 뒤에 있어야 하므로 2로 설정됩니다. 첫번째 항목(log_archive_dest_1)은 해당 데이터베이스의 로컬 아카이브 로그용이고 두번째 항목은 대기 데이터베이스용입니다.
대기 데이터베이스인 Oracle GoldenGate가 뒤에 있어야 하므로 2로 설정됩니다. 첫번째 항목(log_archive_dest_1)은 해당 데이터베이스의 로컬 아카이브 로그용이고 두번째 항목은 대기 데이터베이스용입니다.
FETCHPARTIALJSON
MySQL에 대한 추출에 적합합니다.
테이블의 JSON 데이터 유형 열에 부분 업데이트가 있는 경우 추출 매개변수 파일에서 이 옵션을 사용하여 테이블에서 데이터를 직접 인출합니다. 주: JSON 열 데이터 업데이트 처리는 MySQL 서버 변수 binlog_row_value_options의 값에 따라 달라지며, 이 값은 PARTIAL_JSON로 설정되어야 하고 Extract 매개변수 파일은 FETCHPARTIALJSON 매개변수를 포함합니다.
FETCHPARTIALLOB
Oracle의 통합 캡처 모드에서 Extract에 적합합니다.
이기종 대상으로 복제하거나 전체 LOB 이미지가 필요한 다른 조건에서 이 옵션을 사용합니다. 그러면 Extract가 리두 레코드의 부분 변경 객체를 사용하는 대신 전체 LOB 객체를 인출합니다. 기본적으로 데이터베이스 로그마이닝 서버는 소스 LOB의 전체 또는 일부가 업데이트되었는지 여부에 따라 Extract를 전체 또는 부분 LOB로 전송합니다. LOB의 올바른 스냅샷을 확인하려면 테이블에 대해 Oracle Flashback 기능을 사용으로 설정해야 하며 Extract가 이 기능을 사용하도록 구성해야 합니다. Extract FETCHOPTIONS 매개변수는 인출을 제어하며 USESNAPSHOT(NOUSESNAPSHOT가 없는 경우 기본값)로 설정해야 합니다. Flashback 스냅샷이 없는 경우 Extract는 리두 레코드가 생성된 시점과 다른 이미지일 수 있는 테이블에서 LOB를 패치(fetch)합니다.
FETCHPARTIALXML
통합 캡처 모드 Oracle의 Extract에 적합합니다.
이기종 대상으로 복제하거나 전체 LOB 이미지가 필요한 다른 조건에서 이 옵션을 사용합니다. 그러면 Extract가 리두 레코드의 부분 변경 이미지를 사용하는 대신 전체 XML 문서를 인출합니다. 기본적으로 데이터베이스 로그마이닝 서버는 소스 XML의 전체 또는 일부가 업데이트되었는지 여부에 따라 전체 또는 부분 XML 문서를 Extract에 전송합니다. XML의 올바른 스냅샷을 확인하려면 테이블에 대해 Oracle Flashback 기능을 사용으로 설정해야 하며 Extract가 이 기능을 사용하도록 구성해야 합니다. Extract FETCHOPTIONS 매개변수는 인출을 제어하며 USESNAPSHOT(NOUSESNAPSHOT가 없는 경우 기본값)로 설정해야 합니다. Flashback 스냅샷이 없는 경우 Extract는 리두 레코드가 생성된 시점과 다른 이미지일 수 있는 테이블에서 XML 문서를 인출합니다.
EXCLUDEFILTERTABLE <table>
MySQL, PostgreSQL 및 SQL 서버의 Extract에 적합합니다.
필터링할 출처 트랜잭션을 식별하려면 이 옵션을 사용합니다. 소스 트랜잭션이 지정된 EXCLUDEFILTERTABLE에 대한 작업을 포함하는 경우 해당 트랜잭션은 복제된 트랜잭션으로 식별됩니다. 트랜잭션 필터링은 태그를 기반으로 합니다.
Replicat는 체크포인트 테이블을 사용할 때 적용되는 각 트랜잭션의 끝에 체크포인트 테이블에 복구 레코드를 기록합니다. Replicat가 적용한 모든 트랜잭션에 체크포인트 테이블 업데이트가 포함되어 있다는 점을 고려하면 Extract는 Replicat가 적용한 전체 트랜잭션을 무시하여 데이터 루핑을 방지합니다. PostgreSQL 및 SQL 서버의 경우 체크포인트 테이블에 대해 TRANDATA가 추가되었는지 확인합니다.
양방향 복제에서 병렬 Replicat를 사용하는 경우 TRANLOGOPTIONS EXCLUDEFILTERTABLE 옵션을 사용하여 여러 필터 테이블이 지원됩니다. 여러 필터 테이블을 사용하여 TRANLOGOPTIONS EXCLUDEFILTERTABLE를 서로 다른 테이블 이름이나 와일드카드로 여러 번 지정할 수 있습니다.
Extract 매개변수 파일에 단일 또는 다중 TRANLOGOPTIONS EXCLUDEFILTERTABLE 항목을 포함할 수 있습니다. 다음 예에서는 명시적 객체 이름 및 와일드카드를 사용하여 Extract 매개변수 파일에 여러 TRANLOGOPTIONS EXCLUDEFILTERTABLE 항목이 포함됩니다.
TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt2
TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt_RABC_*
체크포인트 테이블 생성에 대한 자세한 내용은 기본 추출 추가를 참조하십시오. 객체 이름과 와일드카드를 올바르게 지정하려면 Oracle GoldenGate Microservices Documentation의 Using Wildcards in Command Arguments를 참조하십시오.
FORCEFETCHLOB
Oracle Extract에 적합합니다.
리두 로그에서 LOB 데이터를 캡처하는 기본 동작을 무효화합니다. 기본적으로 데이터베이스에서 LOB를 패치(fetch)합니다.
주의: 인출이 발생하기 전에 값이 삭제되면 Extract가 트레일에 널을 씁니다. 인출 전에 값이 업데이트되면 Extract는 업데이트된 값을 씁니다. 이러한 부정확성을 방지하려면 Extract 대기 시간을 낮게 유지하십시오. Oracle GoldenGate 설명서는 프로세스 성능 튜닝을 위한 지침을 제공합니다. 또한 인출 옵션 설정에 대한 지침은 테이블에서 인출 간 상호 작용 및 DDL을 참조하십시오.
GETCTASDML | NOGETCTASDML
선택으로 테이블 생성(CTAS) 기능을 사용으로 설정합니다. GETCTASDML가 사용으로 설정된 경우 CTAS DML이 LogMiner에서 전송되고 대상에 복제됩니다. 이 옵션은 기본적으로 사용으로 설정됩니다. CTAS DDL 실행은 대상에서 금지됩니다.
HANDLEDLFAILOVER [ STANDBY_WARNING <value> | STANDBY_ABEND <value>]
Oracle Extract의 경우 적합합니다.
STANDBY_WARNING 및 STANDBY_ABEND는 Oracle Database 21c 이상에 적합합니다.
Fast Start Failover 대기 데이터베이스의 적용 진행률에 따라 Extract가 트레일 데이터 쓰기를 제한할지 여부를 제어합니다. 데이터 손실 페일오버의 안전한 시점에 Extract를 유지하기 위한 것입니다.
FSFO(Fast Start Failover)가 없는 Data Guard 구성의 데이터 손실에 대해 이 옵션을 사용하는 경우 FAILOVERTARGETDESTID Extract 매개변수를 설정하여 대기 데이터베이스가 접속될 수 있는 아카이브 로그 대상 ID을 식별해야 합니다.
Extract가 대기 데이터베이스 적용 SCN 정보(SELECT applied_scn FROM v$archive_dest where dest_id=n)를 질의하고 이 SCN이 Extract 처리 LCR SCN보다 작은 경우 Extract가 정지된 상태로 확인됩니다. 이 경우 Extract는 LCR을 처리하지 않고 applied_scn가 Extract 처리 LCR SCN보다 크거나 같아질 때까지 기다립니다.
STANDBY_WARNING <value>
추출이 중단된 경우 추출 보고서 파일에 경고 메시지가 기록되기 전까지의 시간입니다. 기본값은 60초입니다.
STANDBY_ABEND <value>
Extract가 정지된 경우 Extract가 비정상 종료되기 전까지의 시간입니다. 기본값은 30분입니다.
STANDBY_WARNING 및 STANDBY_ABEND가 모두 지정된 경우 STANDBY_ABEND는 항상 STANDBY_WARNING보다 커야 합니다.
IFILOCKSECONDS <seconds>
Db2 z/OS에 적합
<seconds>에서 Extract가 IFCID 호출에 의해 데이터베이스에 보유된 암시적 잠금을 보유하는 간격을 설정합니다.
- 잠금은
REORGS와 같은 특정 데이터베이스 작업을 수행하는 기능에 영향을 줄 수 있습니다. 기본값은 20초이며 최소값과 최대값은 각각 1초와 300초입니다. 주:IFILOCKSECONDS매개변수가 더 오랫동안 설정된 경우 Extract IFI 호출로 인해 발생하는 내부 잠금으로 인해REORGS와 같은 다른 데이터베이스 작업에 영향을 줄 수 있습니다. 따라서 Extract와 관련하여 잠금 경합이 발생하는 경우 작업에 대한 잠금 시간 초과를IFILOCKSECONDS매개변수 값보다 긴 기간으로 설정하거나 Extract를 종료하십시오.
IGNOREDATACAPTURECHANGES |
NOIGNOREDATACAPTURECHANGES |
Db2 LUW의 경우 적합합니다
Extract가 DATA CAPTURE CHANGES가 설정되지 않은 테이블을 캡처할지 여부를 제어합니다. IGNOREDATACAPTURECHANGES는 DATA CAPTURE CHANGES가 설정되지 않은 테이블을 무시합니다. 와일드카드로 테이블을 지정한 경우 변경 사항 캡처 집합이 있는 테이블의 처리가 계속되도록 합니다. 건너뛴 테이블의 오류 로그에 경고가 발생합니다. 기본값은 NOIGNOREDATACAPTURECHANGES입니다.
INCLUDEREGIONID |
INCLUDEREGIONIDWITHOFFSET |
Oracle Extract에 적합합니다.
이러한 옵션은 TZR(예: US/Pacific)로 지정된 Oracle 데이터 유형 TIMESTAMP WITH TIME ZONE을 지원합니다. 기본적으로 시간대 지역이 포함된 경우 TIMESTAMP WITH TIME ZONE에서 Extract 비정상 종료가 수행됩니다. 이러한 옵션을 사용하면 대상 데이터베이스 유형에 준하여 이 시간 기록을 처리할 수 있습니다.
Extract가 소스 데이터 유형이 TIMESTAMP이고 영역 ID 매핑 토큰이 있음을 감지하면 Replicat는 다음과 같이 시간 기록을 적용합니다.
-
대상 Oracle 버전에서 지원하는 경우
TIMESTAMP WITH TIME ZONE(TZR포함)이 적용됩니다. -
UTC 오프셋이 있는 시간 기록은 이기종 데이터베이스 또는
TZR를 사용하는TIMESTAMP WITH TIME ZONE를 지원하지 않는 이전 버전의 Oracle에 적용됩니다.
INCLUDEREGIONID
Oracle용 통합 추출에 적합.
INCLUDEREGIONID는 Oracle GoldenGate 19c(19.1.0)에 대해 더 이상 사용되지 않습니다. Oracle GoldenGate 19c(19.1.0) 이후부터 영역 ID 데이터가 포함된 TIMESTAMP WITH TIME ZONE에 초기 로드를 포함하여 기본적으로 포함됩니다.
Oracle 소스에서 동일한 버전 이상의 Oracle 대상으로 복제할 때 사용합니다. INCLUDEREGIONID가 지정된 경우 Extract는 열 인덱스와 2바이트 TMZ 값을 시간대 매핑 토큰으로 추가하고 YYYY-MM-DD HH:MI.SS.FFFFFF +00:00의 UTC 형식으로 추적에 출력합니다.
INCLUDEREGIONIDWITHOFFSET
Oracle용 통합 추출에 적합.
이 옵션을 사용하여 영역 ID을 시간 및 분 오프셋 값(예: +06:00)으로 변환합니다. 옵션을 지정하지 않으면 시간 기록이 항상 UTC의 추적 파일에 기록되고 시간대는 항상 +00:00입니다.
UTC 대신 시간대 값을 시 및 분 단위로 유지해야 하는 경우 이 옵션을 사용할 수 있습니다.
다음과 같은 경우 TIMEZONE <value>을 시간 및 분 <offset>로 유지하도록 옵션을 강제로 설정합니다.
-
Replicat는
ID영역을 지원하지 않으므로 이전 트레일 파일 형식입니다. -
ID영역을 지원하지 않으므로XML,TEXT및SQL형식입니다.
INCLUDETAG {<tag>| +}
Extract의 경우 적합합니다. (Oracle 전용입니다)
추적 파일에 태그가 지정된 특정 DDL 작업을 포함하려면 INCLUDETAG <tag>를 사용합니다. 태그 값은 최대 2000자의 16진수(0-9 A-F)일 수 있습니다.
충돌을 방지하려면 EXCLUDETAG와 함께 INCLUDETAG를 사용하지 마십시오.
예: tranlogoptions includetag 00
LOB_CHUNK_SIZE
SQL Server에 적합, PostgreSQL.
LOB 데이터 크기가 큰 경우 LOB_CHUNK_SIZE를 기본값인 4000바이트에서 최대 65535바이트까지 더 높은 값으로 조정하여 인출 크기를 늘려 전체 LOB를 인출하는 데 필요한 이동을 줄일 수 있습니다.
예: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000
(PostgreSQL) COM에서 푸시하는 데 사용할 LOB(CLOB/BLOB) 데이터의 청크 크기를 지정합니다. 단위는 바이트 단위입니다. 최소 및 최대 lob_chunk_size 값은 4000에서 65535바이트 사이입니다.
LOGREADTIMEOUT
PostgreSQL 버전 12 이상의 Extract에 적합합니다.
WAL 발신자 프로세스에 대해 wal_sender_timeout 옵션을 사용 또는 사용 안함으로 설정합니다.
value 옵션은 60000밀리초가 기본값인 정수 값일 수만 있습니다. 최대값은 2147483647밀리초이고 최소값은 0밀리초입니다.
INTEGRATEDPARAMS (<parametervalue> [, ...])
Oracle Standard 또는 Enterprise Edition 12c 이상의 통합 캡처 모드에서 Extract에 적합합니다.
Extract가 통합 캡처 모드인 경우 Oracle AI Database 로그마이닝 서버에 매개변수 및 값을 전달합니다. 입력은 다음과 같이 <parameter value> 형식이어야 합니다.
TRANLOGOPTIONS INTEGRATEDPARAMS (downsream_real_time_mine Y)
유효한 파라미터 사양 및 해당 값은 다음과 같습니다.
max_sga_size
데이터베이스 로그 마이닝 서버에서 사용하는 SGA 메모리의 양을 지정합니다. 양의 정수(MB)일 수 있습니다. streams_pool_size가 1GB보다 큰 경우 기본값은 1GB이고, 그렇지 않은 경우 streams_pool_size의 75%입니다.
parallelism
데이터베이스 로그 마이닝 서버를 지원하는 프로세스 수를 지정합니다. 양의 정수일 수 있습니다. 기본값은 2입니다.
downstream_real_time_mine
통합 캡처에서 다운스트림 마이닝 데이터베이스를 실시간 모드로 마이닝할지 여부를 지정합니다. Y 값은 실시간 캡처를 지정하며 다운스트림 마이닝 데이터베이스에서 대기 리두 로그를 구성해야 합니다. N 값은 다운스트림 마이닝 데이터베이스로 전달된 아카이브된 로그에서 캡처를 지정합니다. 기본값은 N입니다.
enable_procedural_replication
캡처 시 프로시저 복제를 사용으로 설정합니다. 프로시저 복제는 기본적으로 사용 안함으로 설정됩니다. Y 값은 절차 복제를 사용으로 설정합니다. 추출에 대해 이 옵션이 켜지면 계속 켜져 있습니다. 매개변수 값을 다시 토글할 수 없습니다.
MANAGESECONDARYTRUNCATIONPOINT |
NOMANAGESECONDARYTRUNCATIONPOINT |
PostgreSQL의 경우 적합합니다.
MANAGESECONDARYTRUNCATIONPOINT은 기본 설정이며 특정 Extract에 대한 복제 슬롯의 restart_lsn을 제어합니다.
NOMANAGESECONDARYTRUNCATIONPOINT는 Extract의 복제 슬롯을 이동하지 않으며 일반적으로 Extract의 복구 LSN에서 Extract를 이전 LSN으로 재배치해야 하는 개발 및 테스트 목적으로만 사용됩니다. 사용되는 경우 PostgreSQL 먼저 쓰기 로그는 계속 증가하며 디스크 공간을 소비합니다.
MAXAUTOCMTTRANSSIZE (<range>, <default>)
i 전용의 경우 DB2에 적합
자동 커밋된 최대 트랜잭션 크기 범위를 제공합니다.
자동 추천 레코드의 경우 Db2(분개 입력의 CCID가 0임) 분개에 커밋 레코드가 없으므로 Oracle GoldenGate는 해당 레코드를 추적에 포함하도록 암시적 트랜잭션을 생성해야 합니다. 기본값을 사용하면 단일 레코드가 단일 트랜잭션에 포함될 수 있으므로 IO 시간은 트랜잭션에 대한 커밋을 기반으로 하므로 각 레코드에 대해 표시된 IO 시간의 정확성을 유지합니다.
이 매개변수는 암시적으로 생성된 트랜잭션에 포함될 최대 레코드 수를 설정하지만 최대값에 도달하기 전에 분개에 다른 유형의 항목이 표시되는 경우 이 수가 적을 수 있습니다. 이 응답은 명시적으로 커밋된 레코드에 속하는 레코드의 체크포인트에 대해 겹치는 문제를 방지합니다.
이 매개변수의 값을 1(defulat)로 설정하면 Extract에 대한 잠재적 처리량 비용으로 자동 커밋된 레코드(분개 입력에 CCID가 0임)에 대한 추적의 각 레코드에 대해 정확한 IO 시간이 제공됩니다. 이 파라미터의 값은 또한 메모리에 있는 해당 레코드에 대해 캐시된 트랜잭션의 최대 잠재적 크기에 영향을 줍니다. 이 값을 더 낮은 값으로 설정하면 Extract가 암시적 트랜잭션당 최대 항목 수를 저장할 수 있는 경우 트랜잭션 메모리가 줄어듭니다. 다른 트랜잭션 레코드로 인해 메모리에 이미 있는 암시적 트랜잭션의 레코드 추적에 즉시 커밋이 발생하기 때문에 지정된 시간에 이러한 암시적 트랜잭션은 하나만 메모리에 있을 수 있습니다.
기본 범위는 1에서 10000 사이이고 기본값은 1입니다.
MININGUSER {/ | <useridalias> [<algorithm> ENCRYPTKEY {<key_name> | DEFAULT}] [SYSDBA]]
Oracle GoldenGate Extract for Oracle에 적합합니다.
Extract가 logmining 서버와 상호 작용하기 위해 다운스트림 Oracle 마이닝 데이터베이스에 로그인할 로그인 인증서를 지정합니다. Oracle GoldenGate 인증서 저장소를 사용하지 않는 경우 MININGUSERIDALIAS 옵션 대신 사용할 수 있습니다.
이 사용자는 다음을 수행해야 합니다.
-
Oracle GoldenGate 26ai 이상에 대해
OGG_CAPTURE및OGG_APPLY롤에 부여된 권한을 가집니다. Oracle Database 21c의 경우dbms_goldengate_auth.grant_admin_privilege에 부여된 권한을 적용해야 합니다. -
이
MININGDBLOGIN USERIDALIAS.와 연관된 Extract 그룹에 대해MININGDBLOGIN또는MININGDBLOGIN USERIDALIAS및REGISTER EXTRACT또는UNREGISTER EXTRACT명령을 실행하는 사용자여야 합니다. -
변경되지 않습니다.
/
Oracle GoldenGate가 Oracle에 대해 데이터베이스 사용자 로그인이 아닌 운영체제 로그인을 사용하도록 지정합니다. 데이터베이스가 운영체제 레벨에서 인증을 허용하는 경우에만 이 인수를 사용합니다. 데이터베이스 레벨 인증을 무시하면 애플리케이션 비밀번호가 자주 변경되는 경우 Oracle GoldenGate 매개변수 파일을 업데이트할 필요가 없습니다.
이 옵션을 사용하려면 Oracle OS_AUTHENT_PREFIX 초기화 매개변수의 값과 관련하여 일치하는 사용자 이름이 데이터베이스에 존재해야 합니다. OS_AUTHENT_PREFIX로 설정된 값은 사용자의 운영 체제 계정 이름 시작 부분에 연결된 다음 데이터베이스 이름과 비교됩니다. 이 두 이름은 일치해야 합니다.
OS_AUTHENT_PREFIX가 ' '(널 문자열)로 설정된 경우 IDENTIFIED EXTERNALLY를 사용하여 사용자 이름을 생성해야 합니다. 예를 들어, OS 사용자 이름이 ogg인 경우 다음을 사용하여 데이터베이스 사용자를 생성합니다.
CREATE USER ogg IDENTIFIED EXTERNALLY;
OS_AUTHENT_PREFIX가 OPS$ 또는 다른 문자열로 설정된 경우 <user> 이름은 다음 형식으로 생성되어야 합니다.
<OS_AUTHENT_PREFIX_value><OS_user_name>
예를 들어, OS <user> 이름이 ogg인 경우 다음을 사용하여 <user> 데이터베이스를 생성합니다.
CREATE USER ops$ogg IDENTIFIED BY oggpassword;
<user>
마이닝 데이터베이스 사용자의 이름 또는 SQL*Net 접속 문자열을 지정합니다.
<password>
사용자 비밀번호입니다. 데이터베이스 사용자에 대한 비밀번호를 지정하려면 데이터베이스 인증이 필요한 경우 사용합니다. 비밀번호가 ENCRYPT PASSWORD 명령을 통해 암호화된 경우 암호화된 비밀번호를 입력합니다. 그렇지 않은 경우 텍스트 일반 비밀번호를 사용합니다. 비밀번호의 대소문자가 구분되는 경우 이에 맞게 입력합니다. 사용자 ID 또는 비밀번호가 변경되는 경우 필요에 따라 비밀번호 재암호화를 포함하여 Oracle GoldenGate 매개변수 파일에서 변경해야 합니다.
<algorithm>
<password>를 ENCRYPT PASSWORD로 암호화하는 데 사용된 암호화 <algorithm>를 지정합니다. 다음 중 하나일 수 있습니다.
AES128
AES192
AES256
ENCRYPTKEY {<key_name> | DEFAULT}
ENCRYPT PASSWORD로 지정된 암호화 키를 지정합니다.
-
ENCRYPTKEY <key_name>는ENCKEYS조회 파일에 있는 사용자 생성 암호화 키의 논리적 이름을 지정하십시오.KEYNAME <key_name>옵션과 함께ENCRYPT PASSWORD가 사용된 경우 사용합니다. -
ENCRYPTKEY DEFAULT는 Oracle GoldenGate가 임의 키를 사용하도록 지시합니다.ENCRYPT PASSWORD옵션과 함께KEYNAME DEFAULT가 사용된 경우 사용합니다.
SYSDBA
사용자가 sysdba로 로그인하도록 지정합니다.
MININGUSERIDALIAS <alias>
Oracle Extract에 적합합니다.
Extract가 로그마이닝 서버와 상호 작용하기 위해 다운스트림 Oracle 마이닝 데이터베이스에 로그인하는 데 사용하는 로그인 인증서의 별칭을 지정합니다. Oracle GoldenGate 인증서 저장소를 사용 중인 경우 MININGUSER 대신 사용할 수 있습니다.
이 별칭은 다음과 같아야 합니다.
-
로컬 Oracle GoldenGate 인증서 저장소에 저장된 데이터베이스 사용자 로그인 인증서와 연관됩니다. 이 사용자에게는 Oracle Database 21c 이하에 대해
dbms_goldengate_auth.grant_admin_privilege에 부여된 권한과 Oracle AI Database 26ai 이상에 대해OGG_CAPTURE및OGG_APPLY롤이 있어야 합니다. -
이
MININGUSERIDALIAS.와 연관된 Extract 그룹에 대해MININGDBLOGIN또는MININGDBLOGINALIAS및REGISTER EXTRACT또는UNREGISTER EXTRACT명령을 실행하는 사용자입니다.
Extract가 통합 캡처 모드인 동안에는 이 별칭과 사용자를 변경하면 안됩니다.
MIXEDENDIAN [ON |
OFF] |
Oracle GoldenGate 기본 추출이 있는 Db2 LUW에 적합
Db2 LUW용 Oracle GoldenGate Extract는 데이터베이스와 Oracle GoldenGate가 서로 다른 바이트 주문 서버에서 실행되는 교차 엔디언 캡처를 지원합니다. 바이트 순서는 Db2 LUW 데이터베이스 버전 10.5 이상에서 자동으로 감지됩니다. Db2 LUW 10.5에서 자동 검색을 사용 안함으로 설정해야 하는 경우 이 매개변수를 지정하여 대체할 수 있습니다. 버전 10.1의 경우 교차 엔디언 캡처를 위해 Extract 매개변수 파일에서 매개변수를 사용해야 합니다. 기본적으로 이 값은 버전 10.1의 경우 OFF로 설정됩니다.
구문:
TRANLOGOPTIONS MIXEDENDIAN [ON|OFF]
ON: 설정된 경우 Extract는 데이터베이스와 Oracle GoldenGate가 다른 바이트 순서의 서버에서 실행 중이며 필요한 바이트 방향 바꾸기 변환이 수행되었다고 가정합니다.
OFF: 설정된 경우 Extract는 데이터베이스 및 Oracle GoldenGate가 동일한 바이트 순서의 서버에서 실행 중이며 바이트 순서 방향 바꾸기 변환이 수행되지 않는다고 가정합니다.
MANAGECDCCLEANUP |
NOMANAGECDCCLENUP |
SQL 서버에 적합합니다.
MANAGECDCCLEANUP는 Oracle GoldenGate의 구조 및 버전에 따라 Extract가 Oracle GoldenGate CDC 정리 작업 또는 변경 데이터 비우기 작업의 존재를 검증하도록 지시하는 기본값이며 권장되는 설정입니다.
모든 Oracle GoldenGate Classic Architecture 버전 및 Oracle GoldenGate 21.4 이전 마이크로서비스 버전의 경우 ogg_cdc_cleanup_setup.bat/sh 프로그램을 사용하여 Oracle GoldenGate CDC 정리 작업 및 연관된 테이블과 내장 프로시저를 설치합니다.
Oracle GoldenGate Microservices 21.4 이상 설치의 경우 WebUI의 관리 서비스 구성 섹션에서 작업 페이지에서 변경 데이터 비우기 작업을 생성합니다. 변경 데이터 비우기 태스크는 필요한 내장 프로시저 및 연관된 테이블을 생성하고 SQL 서버 에이전트 작업이 아닌 Oracle GoldenGate 내에서 비우기 기능을 처리합니다.
NOMANAGECDCCLEANUP 옵션은 Extract가 Oracle GoldenGate CDC 정리 작업 또는 변경 데이터 비우기 작업의 존재 여부를 확인하지 않도록 지시합니다. 운용 환경에서는 권장되는 옵션이 아니지만 Oracle GoldenGate CDC 정리 작업 또는 작업을 생성하지 않고도 Extract를 테스트하는 데 사용할 수 있습니다.
PERFORMANCEPROFILE HIGH |
MEDIUM |
LOW_RES |
LOW_WORKLOAD |
통합 수집 모드로 Extract에 적합합니다.
통합 캡처 튜닝용
HIGH, MEDIUM(기본값) 또는 LOW_RES로 설정할 수 있습니다. 성능에 영향을 주는 파라미터를 그룹화하여 성능을 향상시킬 수 있습니다. 성능 프로파일이 설정되면 이 옵션은 필요한 처리량과 대기 시간을 확보하기 위해 관련 매개변수를 자동으로 구성합니다.
-
HIGH옵션을 사용하면 지속적인 처리량을 갖춘 높은 워크로드를 엔드 투 엔드 복제 측면에서 보다 효율적으로 처리할 수 있습니다.HIGH옵션은 트레일 파일 버퍼 크기를 4MB로 늘리고 파일 끝 및 비우기 옵션 값을 0.1초로 줄입니다. -
MEDIUM옵션은 트레일 파일 버퍼 크기를 1MB로 설정하고, 파일 끝 지연 및 비우기에 대한 값을 1초로 설정합니다. -
LOW_RES옵션은 리소스가 부족하고 메모리 또는 리소스 제약이 있는 배치를 위해 추가된 경우에 적용할 수 있습니다. -
LOW_WORKLOAD옵션은 워크로드가 적은 Oracle AI Database 환경을 위한 Oracle GoldenGate와 함께 사용되지만, 대기 시간은 1초 이내여야 합니다.
HIGH 옵션이 낮은 강도의 작업 로드에 대해 사용으로 설정된 경우 통합 Extract 대기 시간이 몇 초로 단축됩니다. 그 이유는 HIGH 옵션이 Extract의 읽기 버퍼 크기를 8MB로 늘리기 때문입니다. 그러나 추출 읽기 버퍼를 비우는 규칙은 버퍼가 가득 차거나 0.2초 동안 수신 레코드가 없는 경우입니다. 따라서 추출 수집률이 8MB보다 낮은 지속적 워크로드는 통합 추출 대기 시간이 1초를 초과하게 됩니다. 추출 수집 비율(또는 리두의 100%가 캡처되는 경우 리두 생성 비율)이 지정된 값(예: 최대 15MB/초)보다 낮은 경우 최대 0.5초의 추출 대기 시간을 확보하려면 HIGH 옵션을 사용하지 마십시오. 1초 미만의 대기 시간이 필요한 경우 그에 따라 버퍼 크기를 줄이는 것이 좋습니다. 예를 들어, 최대 0.3초의 추출 대기 시간을 얻으려면 버퍼 크기를 MB/초 단위의 리두 생성 비율의 1/3로 설정합니다.
QUERYTIMEOUT <seconds>
SQL 서버에 적합합니다.
SQL Server에 대한 질의가 시간 초과 오류 메시지를 보고하기 전에 결과를 기다리는 시간을 지정합니다. 이 옵션은 초 수를 나타내는 정수 값을 사용합니다. 기본 질의 시간 초과 값은 300초(5분)입니다. 최소값은 0초(무제한 시간 초과)입니다. 최대값은 2147483645초입니다.
다음 예에서는 SQL 서버가 시간 초과 전에 결과를 60초 동안 기다리도록 지시합니다.
TRANLOGOPTIONS QUERYTIMEOUT 60
QUERYRETRYCOUNT <seconds>
SQL 서버 및 MySQL의 Extract에 적합합니다.
결과 집합 시간 초과의 경우 Extract가 사용하는 CDC 내장 프로시저에 대한 호출을 재시도할 횟수를 지정합니다.
QUERYRETRYCOUNT를 지정하여 여러 번 재시도할 수 있습니다. 모든 재시도가 실패하면 Extract가 비정상적으로 접속 시간 초과 오류 메시지와 함께 비정상 종료됩니다.
SQL 서버의 경우 기본값은 재시도 1회이며, 그 후에 프로세스 abends.The 최소 설정(0)이 무한, 최대값은 1000, 기본값은 1입니다.
MySQL의 경우 최소 및 기본 설정은 50이고 최대값은 1000입니다. 무한한 가치는 없다. QUERYRETRYCOUNT를 최소값보다 작게 설정하려는 시도는 오류 또는 경고 없이 무시됩니다.
다음 예에서는 Extract가 CDC 내장 프로시저 호출을 4번 시도하도록 합니다.
TRANLOGOPTIONS QUERYRETRYCOUNT 4
다음 예에서는 Extract가 CDC 내장 프로시저 호출을 100번 시도하도록 합니다.
TRANLOGOPTIONS QUERYRETRYCOUNT 100
READQUEUESIZE <size>
MySQL의 경우 적합합니다.
트랜잭션 데이터에 대한 내부 대기열 크기를 바이트 단위로 지정합니다. 성능을 향상시키기 위해 늘릴 수 있습니다. 적합한 값은 3에서 1500 사이의 정수입니다. 기본값은 256바이트이며 기본값으로 시작하고 위쪽으로 조정하기 전에 성능을 평가합니다.
REDO_TRANSPORT_LAG_THRESHOLD <seconds>
다운스트림 마이닝 모드의 통합 추출에 적합합니다.
리두 로그가 전달될 때 소스 데이터베이스와 대상 데이터베이스 간의 네트워크 대기 시간을 모니터합니다. 대기 시간이 지정된 임계값을 초과하면 보고서 파일에 경고가 나타나고 지연이 정상 레벨로 떨어지면 후속 정보 메시지가 나타납니다.
기본 임계값은 30초입니다. 지정할 수 있는 최소 임계값은 15초입니다.
자세한 내용은 다운스트림 추출을 참조하십시오.
REDO_TRANSPORT_LAG_TIMEOUT <value>
다운스트림 마이닝 모드의 통합 추출에 적합합니다.
이 매개변수 옵션에 입력으로 제공된 값은 Extract가 각 스레드에서 리두를 기다리는 기간입니다. 모든 스레드가 시간 초과(초)를 기다렸고 리두를 받지 못한 경우 Extract가 비정상 종료됩니다.
REQUIRELONGDATACAPTURECHANGES |
NOREQUIRELONGDATACAPTURECHANGES |
Db2 LUW의 경우 적합합니다.
DATA CAPTURE가 INCLUDE LONGVAR COLUMNS 없이 NONE 또는 CHANGES로 설정되었고 일부 또는 모든 열 값의 이전 이미지가 필요한 Oracle GoldenGate 매개변수 GETBEFOREUPATES, NOCOMPRESSUPDATES, NOCOMPRESSDELETES 중 하나도 매개변수 파일에 포함된 Extract 응답을 제어합니다. 이러한 DATA CAPTURE 설정은 모두 LONGVAR 열에 대한 이전 값의 로깅을 방지합니다. 해당 열을 추출에 사용할 수 없는 경우 대상 데이터의 무결성에 영향을 줄 수 있습니다.
REQUIRELONGDATACAPTURECHANGES
추출 비정상 종료에 오류가 있습니다.
NOREQUIRELONGDATACAPTURECHANGES
Extract가 경고를 표시하지만 데이터 레코드를 계속 처리합니다.
REMOTESCHEMA <value>
Db2 z/OS Extract에 적합합니다.
Db2 z/OS Extract에 대해 여러 버전의 Oracle GoldenGate를 사용하는 경우 Db2 z/OS 내에 서로 다른 스키마 이름으로 GoldenGate Extract 구성요소 버전을 여러 개 생성해야 합니다. REMOTESCHEMA 매개변수는 Extract에 사용할 스키마를 지정하는 데 사용됩니다.
자세한 내용은 Oracle GoldenGate Microservices 설명서의 Db2 z/OS에 Extract 구성요소 설치를 참조하십시오.
SOURCE_OS_TIMEZONE <timezone>
Oracle의 통합 캡처 모드에서 Extract에 적합합니다.
소스 데이터베이스의 시스템 시간대를 지정합니다. 데이터베이스의 시스템 시간대는 일반적으로 해당 운영 체제의 기본 시간대로 제공되며, 데이터베이스가 시작될 때 TZ 환경 변수를 설정하여 무효화할 수도 있습니다. 소스 데이터베이스와 추출 프로세스가 다른 시스템 시간대를 사용하는 경우에만 이 옵션을 지정해야 합니다. 예를 들어, 소스 데이터베이스와 Extract 프로세스가 서로 다른 시간대의 여러 서버에서 실행되는 다운스트림 캡처 배치에서 사용할 수 있습니다.
이 옵션의 값은 시간대 지역 이름이나 UTC 오프셋 형식으로 지정할 수 있으며 소스 데이터베이스에서 사용하는 것과 동일한 형식을 사용해야 합니다. 예를 들어, 소스 데이터베이스에서 America/New_York와 같은 영역 이름 형식을 사용하는 경우 America/New_York, US/Eastern 또는 EST5EDT를 지정해야 합니다. 또는 소스 데이터베이스에서 -05:00과 같은 UTC 오프셋 형식을 사용하는 경우 (GMT)[+|-]hh[:mm] 구문을 사용해야 합니다. 예를 들면, GMT-05:00 또는 -5입니다.
SKIPUNKNOWNEVENT
MySQL의 경우 적합합니다.
Extract 매개변수 파일에서 이 매개변수를 사용하여 MySQL 이진 로그에서 처리되지 않았거나 알 수 없는 이벤트를 건너뛸 수 있습니다. 이 매개변수가 지정된 경우 Oracle GoldenGate for MySQL Extract는 현재 Extract 프로세스에서 처리되지 않은 이벤트를 찾는 중 오류 없이 처리를 계속합니다.
STREAMINGOPTIONS
PostgreSQL의 경우 적합합니다.
복제 시작 중 필요한 매개변수를 제공하려면 이 매개변수를 사용합니다. 또한 Oracle GoldenGate Microservices 설명서에서 Extract for PostgreSQL 등록을 참조하십시오.
예:
TRANLOGOPTIONS STREAMINGOPTIONS (publication_names="my*123,my_publication2, my_publication";)
SUPPRESSNOOOPUPDATES
Oracle AI Database의 Extract에 적합합니다.
통합 추출에서 no-op 업데이트를 필터링할지 여부를 제어할 수 있습니다. 기본값은 숨김 없음입니다.
TRACKSCHEMACHANGES |
NOTRACKSCHEMACHANGES |
Db2 z/OS 및 MySQL에 적합합니다.
Oracle GoldenGate for Db2 z/OS의 경우 이 매개변수를 사용하면 Extract가 테이블 레벨 DDL 문을 캡처하고 로그 레코드가 테이블의 현재 버전보다 이전 버전인 테이블 버전을 참조할 때 DML를 처리하는 데 사용되는 변경 사항의 내역을 유지할 수 있습니다. 이는 대개 갱신 이미지보다 이전이지만 Extract가 로그 백로그의 지연 상황에서 실행 중인 경우 이미지, 삽입 또는 삭제 이후일 수 있습니다. Extract가 적절한 DDL 작업을 수행하면 DDL의 버전 번호가 기록되고 DDL 내역 테이블이 새 정보로 업데이트됩니다. Extract는 추적의 변경과 관련된 새 TDR 레코드도 생성합니다. Extract가 로그에서 이전 버전의 테이블을 발견하면 DDL 내역을 참조하여 이전 버전의 테이블에 대해 DDL를 올바르게 해석할 수 있습니다. DDL 변경 사항은 실제로 복제되지 않으며 소스 테이블에 대한 변경 사항의 동기화는 대상 데이터베이스의 사용자가 수동으로 실행해야 합니다.
이 명령을 입력하면 Extract에서 테이블 레벨 DDL 변경사항을 추적할 수 있으며 추적 메타데이터가 적절하게 업데이트됩니다. TRACKSCHEMACHANGES를 제대로 사용하려면 테이블 메타 데이터가 알려진 일관성 있는 상태여야 합니다. 즉, 업데이트 또는 삭제 작업을 위해 트랜잭션 로그에 이전 테이블 버전이 나타나지 않도록 TRACKSCHEMACHANGES를 사용하기 전에 버전 추적이 필요한 모든 테이블을 생성하고 변경하거나 재구성하지 않아야 합니다. ddl_update.sh 스크립트는 데이터베이스에 대한 초기 DDL 기록 레코드 집합을 생성하는 데 도움이 되도록 제공되었습니다.
DDL 처리를 사용하려면 데이터베이스 시스템에 있는 모든 테이블의 다양한 버전에 대한 DDL 변경 사항을 캡처하는 기록 테이블로 데이터베이스를 설정해야 합니다. 또한 데이터 캡처 변경 사항을 적용하려면 시스템 테이블을 활성화해야 합니다. 내역 테이블을 만들고 유지 관리하기 위해 다음과 같은 UNIX 셸 스크립트가 제공됩니다.
-
ddl_create.sh: 이 스크립트는DDL내역 테이블을 생성하는 데 사용됩니다. 또한 다음 시스템 테이블에 대한 데이터 캡처 변경 사항도 활성화합니다.-
SYSIBM.SYSTABLES -
SYSIBM.SYSCOLUMNS -
SYSIBM.SYSINDEXES -
SYSIBM.SYSKEYCOLUSE
예제:
./ddl_create.sh -f crt_ddl_hist.sql -s OGGSCHEMA이 예에서 결과 파일인
crt_ddl_hist.sql는 다른 프로그램에서 처리해야 합니다../ddl_create.sh -d DB2DSXY -u gguser -p ggpw -s OGGSCHEMA이렇게 하면 로컬 Db2를 호출하여 메인프레임 데이터베이스에 원격으로 연결하여
DDL기록 테이블을 즉시 생성합니다. -
-
ddl_remove.sh: 이 스크립트는DDL내역 테이블을 제거하는 데 사용됩니다. 그러나 시스템 테이블은 변경되지 않습니다. -
ddl_update.sh:TRACKSCHEMACHANGES를 사용하여DDL버전 추적에 대한 초기 시작점을 설정하려면 이 스크립트를 실행해야 합니다.DDL기록 테이블 생성 후 실행되어야 하며, 트랜잭션 로그에서 테이블 버전이 누락될 수 있는 방식으로 추출의 위치를 재지정해야 하는 경우가 아니면 다시 실행할 필요가 없습니다. ddl_update.sh를 재실행하면DDL내역에 없는 테이블에 대한 정보만 추가됩니다. -
execsql.sh: 이 스크립트는 직접 실행하지 않아야 하지만 소싱할 다른 스크립트에 사용할 수 있어야 합니다. 명령줄을 구문 분석하고SQL를 실행하거나 파일에 쓰기 위한 일반적인 기능을 제공합니다.
이러한 스크립트는 Db2 연결을 사용하여 직접 테이블을 생성하는 데 사용되거나 선택한 SQL 처리 프로그램에서 실행될 수 있는 SQL 파일을 생성하는 데 사용될 수 있습니다. 파일이 Db2 원격 및 SPUFI와 호환되는지 확인했습니다.
다음은 이러한 스크립트에서 허용하는 옵션에 대한 설명입니다.
-
-h는 이 사용 도움말을 보여줍니다. -
-d dsn는 접속할 Db2 DSN을 지정합니다. -
-u userid는 데이터베이스 접속에 사용할 사용자ID을 지정합니다. -
-p password는 데이터베이스 접속에 사용할 비밀번호를 지정합니다. -
-s ggschema는DDL내역 테이블이 저장되어야 하는 스키마의 이름을 지정합니다. 이 스키마는GLOBALS의GGSCHEMA와 동일해야 합니다. -
-t ddltable는DDL기록 테이블의 테이블 이름을 지정합니다. 기본값은GGS_DDL_HIST입니다. -
-f outfile는SQL문을 실행하는 대신 작성할 파일 이름을 지정합니다.-d,-u,-p를 사용할 경우 모두 지정하거나-f를 지정해야 합니다. 현재-t는 사용하지 않아야 합니다.db2cli에서 생성된SQL문을 실행할 수 없으므로 원격 호스트에서db2cli명령만 사용할 수 있는 경우-f를 사용해야 합니다.
MySQL용 Oracle GoldenGate의 경우 캡처 및 전달과 함께 DDL 복제가 지원됩니다. DDL 복제가 사용으로 설정된 경우 Extract는 소스 데이터베이스 테이블에서 DDL 작업을 감지하고, DDL 문을 처리하고, 테이블 메타데이터를 새로 고치고, DDL 문과 메타데이터를 추적 파일에 씁니다. Replicat는 MySQL 대상 데이터베이스에서 이러한 DDL 작업을 적용하고 추적에서 새 버전의 메타데이터를 선택하고 이후 DML 작업을 처리합니다. 이 전체 프로세스는 원활하며 다운타임은 발생하지 않지만 (MySQL ~ MySQL)과 같은 시나리오를 좋아할 때만 가능합니다.
TRACKSCHEMACHANGES 매개변수를 사용하면 소스 테이블에서 DDL 작업 후 테이블 메타데이터 변경사항을 캡처할 수 있으므로 캡처에서 작동 중지 시간 없이 후속 DML 작업을 처리할 수 있습니다. TRACKSCHEMACHANGES가 사용으로 설정된 경우 캡처는 각 DDL 작업의 새 메타데이터가 포함된 추적에 새 TDR 레코드를 기록한 다음 해당 데이터를 기록합니다. 캡처는 DDL 문을 처리하고 트레일 파일에 기록하지 않으므로 DDL 변경 사항은 실제로 대상 데이터베이스에 복제되지 않습니다. 소스에 해당하는 DDL 변경사항의 동기화는 대상 데이터베이스에서 수동으로 실행해야 합니다. 이 기능을 사용하면 DDL 복제와 달리 TRACKSCHEMACHANGES를 데이터베이스 간 복제 시나리오(예: MySQL - Db2 z/OS)에서 사용할 수 있다는 이점이 있습니다.
다음은 TRANLOGOPTIONS TRACKSCHEMACHANGES 명령을 사용할 때의 고려 사항입니다.
-
기본적으로
TRACKSCHEMACHANGES매개변수는 Oracle GoldenGate 23.7 이상에서 사용으로 설정됩니다. 따라서 수정된 메타 데이터도 기본적으로 캡처됩니다. -
DDL및TRACKSCHEMCHANGES가 충돌하지 않습니다.DDL가 사용으로 설정된 경우DDL가 캡처되고 처리됩니다. -
스키마 변경사항을 캡처하려면 Extract 매개변수 파일에서
TRACKSCHEMACHANGES를 명시적으로 사용으로 설정해야 합니다. -
binlog_row_metadata가 MariaDB 및 MySQL에서FULL가 아닌 경우 Extract 보고서 파일에 표시된 다음 경고 메시지와 함께TRACKSCHEMCHANGES가 사용 안함으로 설정됩니다."Schema change tracking has been disabled because the MySQL system variable binlog_row_metadata is set to MINIMAL. The metadata recorded in the MySQL binlog is insufficient for schema change tracking and may result in data discrepancies. It is recommended to set it to FULL." -
TRANLOGOPTIONS NOTRACKSCHEMACHANGES매개변수 옵션을 사용하면 스키마 추적을 사용 안함으로 설정할 수 있습니다. 그러나 스키마 추적은 해제하지 않는 것이 좋습니다. 스키마 추적을 사용 안함으로 설정하면 다음과 같이 추출 보고서에 경고 메시지가 표시됩니다.Schema change tracking has been disabled because TRANLOGOPTIONS NOTRACKSCHEMACHANGES is specified in the Extract parameter file. It is recommended to enable the schema change tracking. To enable the schema tracking, set the MySQL system variable binlog_row_metadata to FULL and remove the parameter TRANLOGOPTIONS NOTRACKSCHEMACHANGES from the extract parameter file. -
기본적으로
TRACKSCHMEACHANGES가 사용으로 설정되어 있지만 Extract 매개변수 파일에서DDL및TRACKSCHMEACHANGES가 사용으로 설정되어 있지 않고 Extract에서CREATE TABLE AS SELECT를 찾은 경우DDL작업CREATE TABLE가 처리에서 무시되고 연관된DML(INSERT) 작업이 Extract에 의해 캡처됩니다.이러한 테이블에 대한 DML 처리 시
DDL테이블이 대상에 복제되지 않으므로 Replicat 대상은 비정상 종료됩니다.이러한 경우
CREATE TABLE AS SELECT작업이 아닌CREATE TABLE작업만 실행하여 대상의 테이블을 수동으로 생성해야 합니다. -
Extract 매개변수 파일에서
TRACKSCHEMACHANGES또는DDL가 사용으로 설정되지 않았으며 Extract 목록의 일부인 특정 테이블에서DDL작업이 실행된 경우 Extract가 비정상 종료됩니다. -
Extract 매개변수 파일에서
TRACKSCHEMACHANGES또는DDL가 사용으로 설정되지 않았으며 캡처 목록의 일부가 아닌 특정 테이블에서DDL작업이 실행된 경우 Extract가 비정상 종료되지 않습니다.
TRANCOUNT
SQL 서버에 적합합니다.
Extract가 호출당 처리한 트랜잭션 수를 조정하여 SQL 서버 변경 데이터 캡처 스테이징 테이블에서 데이터를 가져올 수 있도록 허용합니다. 트랜잭션 작업 로드에 따라 이 값을 조정하면 캡처 속도 처리량이 향상될 수 있습니다. 최소값은 1, 최대값은 100, 기본값은 10입니다.
예제:
TRANLOGOPTIONS TRANCOUNT 20
이 예에서는 Extract가 변경 데이터 캡처 사용 테이블에서 한 번에 20개 트랜잭션을 인출하도록 지시합니다.
[TSLOOKUPBEGINLRI |
TSLOOKUPENDLRI] |
Db2 LUW v 10.1 이상에 적합합니다.
이러한 매개변수를 사용하여 LRI 범위를 지정할 때 Extract는 이 범위 내에서 ADD 또는 ALTER EXTRACT 명령에 지정된 시간 기록을 찾습니다. 그러면 Extract가 데이터베이스 트랜잭션 로그의 특정 시간기록에 대한 조회 프로세스를 최적화할 수 있습니다. TSLOOKUPBEGINLRI 매개변수는 필수이고 TSLOOKUPENDLRI는 선택 사항입니다. TSLOOKUPBEGINLRI 없이 TSLOOKUPENDLRI만 지정하면 Extract가 비정상 종료됩니다. 예:
TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197, TSLOOKUPENDLRI 75207.666216
TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197
제공된 시간기록이 제공된 LRI 범위 사이에 있거나 제공된 시간기록이 TSLOOKUPBEGINLRI LRI 시간기록 뒤에 있는 경우 추출은 시간기록이 제공된 시간기록보다 작거나 같은 레코드에서 시작됩니다.
제공된 시간 기록이 TSLOOKUPBEGINLRI LRI 시간 기록 앞에 있으면 지정된 TSLOOKUPBEGINLRI LRI에서 Extract가 시작됩니다. 제공된 시간 기록이 TSLOOKUPENDLRI 시간 기록 뒤에 있으면 Extract가 비정상 종료됩니다.
USENATIVEOBJSUPPORT |
NOUSENATIVEOBJSUPPORT |
Oracle의 통합 캡처 모드에서 Extract에 적합합니다.
통합 캡처는 UDT(사용자 정의 유형) 및 ANYDATA 데이터 유형에 대한 리두 기반 캡처를 추가합니다. 기본적으로 사용으로 설정되며 소스 데이터베이스 버전이 12.1.0.1 이상이고 소스 데이터베이스 호환성이 12.0.0.0.0 이상인 경우에만 사용으로 설정할 수 있습니다. Oracle GoldenGate 릴리스 12.1.2.1.0의 Replicat를 사용해야 합니다. Native Support를 사용하려면 모든 Oracle AI Database 및 Oracle GoldenGate 인스턴스가 호환되도록 릴리스 12.1.0.1 이상이어야 합니다.
리두 기반 캡처가 활성화되어 있지만 UDT에 지원되지 않는 속성이 포함된 경우 Integrated Capture는 패치(fetch)를 사용하여 UDT를 캡처하기 위해 재시도합니다. 캡처에 대한 지원 제한 사항은 XML 데이터 유형을 참조하십시오. CREATE TABLE AS SELECT(CTAS) 문을 사용하여 객체 테이블을 생성하는 경우 객체 테이블을 완전히 지원하려면 CTAS 작업에서 DML를 캡처하도록 통합 캡처를 구성해야 합니다. CTAS의 경우 Oracle GoldenGate Microservices 설명서에서 Oracle GoldenGate에서 파생된 객체 이름을 처리하는 방법을 참조하십시오.
지원되는 경우 기본값은 USENATIVEOBJSUPPORT입니다.
UDT 데이터를 추적 파일에서 XML 데이터로 캡처하려면 Oracle Extract 매개변수 파일에서 TRANLOGOPTIONS NOUSENATIVEOBJSUPPORT 매개변수를 사용으로 설정합니다. 그런 다음 CLOB/TEXT/CHAR/VARCHAR 등과 같은 XML 데이터를 허용하는 모든 대상 열에 이 데이터를 적용할 수 있습니다.
USE_ROOT_CONTAINER_TIMEZONE
Oracle 통합 Extract에만 적합합니다.
이 매개변수는 CDB 환경을 위한 것입니다. CDB의 각 PDB는 서로 다른 데이터베이스 시간대를 사용할 수 있습니다. 데이터베이스 시간대를 사용할 수 있는 경우 Extract는 통합 딕셔너리에서 PDB의 시간대를 가져오려고 시도합니다. 시간대를 추출하려면 마이닝 데이터베이스에 대한 패치가 필요합니다. 패치를 사용할 수 없는 경우 Extract는 시간대를 가져오기 위해 질의를 PDB로 전송합니다. 데이터베이스 패치 또는 PDB에 대한 연결을 사용할 수 없고 이 매개변수가 지정된 경우 Extract는 PDB 데이터베이스 시간대가 루트 컨테이너 데이터베이스 시간대와 동일하다고 가정합니다.
VERSIONCHECK DYNAMIC |
IMMEDIATE |
SQL 서버의 경우 적합합니다.
Extract가 시작 시 공통 내장 프로시저(예: OracleCDCExtract 및 OracleGGCreateProcs)의 CDC 객체 버전을 검증하려는 경우 이 옵션을 사용합니다.
DYNAMIC(기본값)은 레코드가 처리되는 동안 테이블당 한 번씩 매개변수 파일에 지정된 테이블의 CDC 객체 버전을 식별합니다.
IMMEDIATE는 레코드가 처리되는 동안이 아니라 CDC 객체 버전 문제를 미리 식별합니다. 캡처용으로 구성된 테이블 수가 많은 데이터베이스는 더 긴 시작 검증이 필요합니다.
WARNCREATEASSELECT
MySQL에 대한 Extract의 경우 적합합니다.
DDL 작업 CREATE TABLE AS SELECT은 지원되지 않으며 이 DDL가 발생할 때 MySQL에 대한 Oracle GoldenGate Extract가 비정상 종료됩니다. 다음과 유사한 오류는 Extract가 처음으로 비정상 종료될 때 발생합니다.
DDL statement "CREATE TABLE AS SELECT" is detected for table <table-name> at binary log
number <binlog number> and offset <binlog offset>. The DDL operation "CREATE TABLE AS SELECT"
is not supported. Execute all 'CREATE TABLE AS SELECT' DDL operations manually to the target
database and start Extract by adding Extract parameter TRANLOGOPTIONS WARNCREATEASSELECT. Once
Extract gets past the 'CREATE TABLE AS SELECT' operation, restart Extract after disabling the
parameter TRANLOGOPTIONS WARNCREATEASSELECT.
Extract <parameter> 파일에서 TRANLOGOPTIONS WARNCREATEASSELECT 설정을 사용하는 경우 Extract 보고서 파일에서 다음 경고 메시지를 실행한 후 Extract가 계속됩니다.
DDL statement 'CREATE TABLE AS SELECT' is detected for table <table-name> at binary
log number <binlog number> and offset <binlog offset>. The DDL operation 'CREATE TABLE AS SELECT' is not supported.
The DDL and the associated DMLs are ignored.