CDC 캡처 방법 작동 고려 사항

SQL Server CDC Capture 옵션, 기능 및 권장 설정에 대해 알아봅니다.

SQL Server 변경 데이터 캡처 튜닝

다음 정보는 Extract의 캡처 성능을 향상시키는 데 유용합니다.

Oracle GoldenGate CDC 객체 버전 지정

Oracle GoldenGate는 보완 로깅을 사용으로 설정할 때 Oracle GoldenGate에서 생성된 CDC 객체를 추적하기 위한 버전 추적 하위 시스템을 제공합니다. 이러한 객체는 다음과 같습니다.

SQL Server 변경 데이터 캡처에 대해 지원 및 지원되지 않는 추출 매개변수

CDC Extract와 함께 사용되는 매개변수에 대해 알아봅니다. 다음 표에는 지원되는 매개변수와 지원되지 않는 매개변수가 나열되어 있습니다.

지원되는 매개변수 지원되지 않는 매개 변수
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

TRANLOGOPTIONS LOB_CHUNK_SIZE

대형 객체를 지원하는 CDC Capture 메소드에 대해 Extract 매개변수 LOB_CHUNK_SIZE가 추가됩니다. LOB 데이터 크기가 클 경우 기본값인 4000바이트에서 더 높은 값인 최대 65535바이트로 LOB_CHUNK_SIZE를 조정하여 패치(fetch) 크기를 늘려 전체 LOB를 패치(fetch)하는 데 필요한 이동을 줄일 수 있습니다.

예: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

Extract 매개변수 MANAGECDCCLEANUP/NOMANAGECDCCLEANUP는 CDC Capture 메소드에서 Extract에게 Oracle GoldenGate CDC 정리 작업에서 복구 체크포인트 데이터를 유지 관리할지 여부를 지시하는 데 사용됩니다. 복구 체크포인트는 유지 관리되지만 SQL Server CDC 정리 작업도 사용으로 설정되지 않은 경우에는 ct 테이블의 비우기가 수행되지 않습니다. 비우려면 필요합니다.

기본값은 MANAGECDCCLEANUP이며 Extract에 명시적으로 나열할 필요가 없습니다. 그러나 Extract를 시작하기 전에 Oracle GoldenGate CDC 정리 작업을 생성해야 합니다. MANAGECDCCLEANUP는 모든 프로덕션 환경에 사용되어야 하며, 여기서 NOMANAGECDCCLEANUP는 필요에 따라 임시 및 테스트 구현에 사용될 수 있습니다.

예: TRANLOGOPTIONS MANAGECDCCLEANUP

TRANLOGOPTIONS 제외 사용자/제외

SQL Server CDC 캡처 작업은 트랜잭션과 관련된 사용자 정보 또는 트랜잭션 이름을 캡처하지 않으며 이 정보가 CDC 스테이징 테이블에 기록되지 않으므로 Extract는 특정 사용자 또는 특정 트랜잭션 이름의 DML에서 DML을 제외하는 방법이 없습니다. 따라서 EXCLUDEUSER 및 EXCLUDETRANS 매개변수는 CDC 캡처 프로세스에 유효하지 않습니다.

TRANLOGOPTIONS 관리2차 자르기 지점/여성2차 자르기 지점/활동2차 자르기 지점

SQL Server 변경 데이터 캡처 작업은 Oracle GoldenGate CDC 캡처 메소드를 사용할 때 트랜잭션 로그에서 데이터를 캡처하는 유일한 프로세스입니다. 2차 자르기 지점 관리는 Extract에서 처리되지 않으며 변경 데이터 캡처 추출의 경우 해당 매개변수가 적합하지 않습니다.

TRANLOGOPTIONS 항상 읽기 전용 경로 지정

ALWAYSONREADONLYROUTING 매개변수를 사용하면 Extract for SQL Server가 Always On 가용성 그룹 리스너에 연결된 경우 읽기 전용 처리를 사용 가능한 읽기 의도 보조로 라우팅할 수 있습니다.

TRANLOGOPTIONS 질의 시간 초과

SQL Server에 대한 쿼리가 시간 초과 오류 메시지를 보고하기 전에 결과를 기다리는 시간을 지정합니다.Specifies how long queries to SQL Server will wait for results before reporting a timeout error message. 이 옵션은 초 수를 나타내는 정수 값을 사용합니다. 기본 질의 시간 초과 값은 300초(5분)입니다. 최소값은 0초(무제한 시간 초과)입니다. 최대값은 2147483645초입니다.

트랜잭션 옵션 트랜잭션

SQL Server 변경 데이터 캡처 스테이징 테이블에서 데이터를 가져오기 위해 Extract에서 각 호출당 처리된 트랜잭션 수를 조정할 수 있습니다. 트랜잭션 작업 로드에 따라 이 값을 조정하면 캡처 속도 처리 능력이 향상될 수 있지만 모든 작업 로드가 긍정적인 영향을 주는 것은 아닙니다 최소값은 1, 최대값은 100, 기본값은 10입니다.

Oracle GoldenGate CDC 정리 프로세스 세부정보

Oracle GoldenGate 변경 데이터 비우기 태스크는 기본적으로 CDC 추출에 필요합니다. 추출의 기본값은 TRANLOGOPTIONS MANAGECDCCLEANUP입니다.

CDC Capture에 대해 사용으로 설정된 각 데이터베이스에 대해 하나의 비우기 태스크만 있어야 하며, 이 문서의 Oracle GoldenGate용 데이터베이스 준비 섹션에 언급된 단계를 사용하여 태스크를 생성해야 합니다.

Oracle GoldenGate 변경 데이터 비우기 작업 수정

Oracle GoldenGate 변경 데이터 비우기 태스크에 대한 기본 비우기 태스크 빈도 일정 및 데이터 보존 기간은 설치된 Oracle GoldenGate 버전에 따라 3일 또는 1시간의 데이터 보존 정책으로 10분마다 실행됩니다.

고객별 요구사항의 경우 보존 기간(규칙 유지 옵션) 및 태스크 런타임 일정(비우기 빈도 옵션)을 조정해야 할 수 있습니다.

규칙 유지 옵션은 소스 데이터베이스에 보관할 CDC 스테이징 데이터의 양을 시간 또는 일 단위로 결정합니다. 설치된 Oracle GoldenGate 버전에 따라 기본값은 3일 또는 1시간입니다. CDC 데이터 보존 기간을 줄이면 데이터베이스에 저장된 CDC 스테이징 데이터의 양이 줄어들지만 사용자가 Extract의 위치를 스테이지 테이블에 있는 데이터보다 오래된 시간으로 다시 재지정하는 기능이 제한됩니다. 일반적으로 기존 Extract의 위치를 이전 시점으로 되돌릴 필요가 없으므로 데이터베이스에 더 많은 스테이지 데이터를 유지해야 하는 특정 사례가 없는 경우 1시간의 최신 기본 설정을 사용하는 것이 좋습니다. 이 값을 더 높은 보존 기간에서 매우 짧은 보존 기간으로 변경할 경우 다음에 작업 일정이 실행될 때 많은 트랜잭션 로그 공간과 시스템 오버헤드가 소비될 수 있습니다. 따라서 원하는 종료 값에 도달할 때까지 시간이 지남에 따라 Keep Rule 값을 느리게 줄이는 것이 좋습니다.

비우기 빈도는 태스크가 실행되는 빈도를 나타내며 기본값은 10분 간격입니다. 지우기 작업의 오버헤드가 높은 유저 작업 기간 동안 데이터베이스 성능에 영향을 주지 않는 한 기본값을 유지하는 것이 좋습니다.

기존 변경 데이터 비우기 작업을 수정하려면 관리 서비스 왼쪽에 있는 메뉴에서 구성으로 이동하여 구성 페이지를 엽니다. 1. 구성 페이지에서 태스크를 눌러 태스크 페이지를 엽니다.

  1. 태스크 페이지에서 변경 데이터 비우기를 누릅니다.

  2. 기존 작업 옆에 있는 작업 변경 아이콘을 누릅니다.

  3. 필요에 따라 규칙 유지 및 비우기 빈도 옵션의 값을 수정합니다.

  4. 변경 사항을 저장하려면 제출을 누릅니다.

Oracle GoldenGate 변경 데이터 비우기 태스크 삭제

데이터베이스에 대한 변경 데이터 비우기 태스크 삭제는 특정 데이터베이스에 대해 캡처하도록 구성된 추출이 없는 경우에만 수행해야 합니다.

기존 변경 데이터 비우기 태스크를 삭제하려면 관리 서비스 왼쪽의 메뉴에서 구성 옵션으로 이동하여 구성 페이지를 엽니다. 1. 구성 페이지에서 태스크를 눌러 태스크 페이지를 엽니다.

  1. 태스크 페이지에서 변경 데이터 비우기를 누릅니다.

  2. 제거할 작업 옆에 있는 작업 삭제 아이콘을 누릅니다.

클래식 추출에서 CDC 추출로 업데이트

Oracle GoldenGate 12c(12.3.0.1) 또는 이전 버전에서 Oracle GoldenGate 26ai CDC Extract로 클래식 Extract 사용을 변경하려는 경우 클래식 Extract 설치 방법을 사용하여 구현된 보완 로깅을 제거해야 합니다. 그리고 CDC Extract 설치 바이너리를 사용하여 보완 로깅을 다시 사용으로 설정합니다. TRANDATA을 사용으로 설정하는 호출은 두 버전 간에 다르며, CDC Extract에서는 클래식 Extract용 TRANDATA 구현이 지원되지 않습니다.

다음 일반 지침에 따라 보완 로깅을 제거하고 다시 사용으로 설정하십시오. 운영 시스템에서 Classic에서 CDC Extract로 마이그레이션하는 경우 특별한 고려 사항과 계획이 포함되어야 합니다. 여기에 제공된 정보는 모든 요구 사항을 포함하지 않으며 보완 로깅에 대한 일반적인 요구 사항으로만 제공됩니다.

  1. 클래식 추출에서 로그의 나머지 모든 데이터를 처리했으며 정상적으로 중지할 수 있는지 확인하십시오.

  2. 다른 복제 또는 CDC 구성 요소와 관련하여 Extract가 실행 중인 방식에 따라 다음 중 하나를 수행합니다.

    • Extract가 동일한 데이터베이스에서 SQL Server 트랜잭션 복제 또는 비Oracle CDC 구성과 동시에 실행되지 않은 경우 Management Studio에서 질의 세션을 열고 소스 데이터베이스에 대해 다음 명령문을 실행하여 CDC 또는 복제 구성 요소를 사용 안함으로 설정하고 삭제하고 보조 자르기 지점을 지웁니다.

      EXEC sys.sp_cdc_disable_db

    • Extract가 동일한 데이터베이스에서 SQL Server 트랜잭션 복제 또는 비Oracle CDC 구성을 사용하여 동시에 실행 중인 경우 Classic Extract의 설치 폴더에서 관리 클라이언트를 실행하고, DBLOGIN를 사용하여 소스 데이터베이스에 로그인한 다음 Extract 구성에 있는 각 테이블에 대해 다음 명령을 실행합니다. 와일드카드를 사용하여 여러 테이블 이름을 지정할 수 있습니다.

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. Heartbeat 테이블 항목이 설치된 경우 삭제합니다.

    DELETE HEARTBEATTABLE

  4. Oracle GoldenGate CDC Extract 설치 바이너리를 사용하여 Prepare the Database for Oracle GoldenGate에 나열된 단계에 따라 보완 로깅 및 기타 필요한 구성요소를 다시 사용으로 설정하고 하트비트 테이블을 다시 추가하십시오.