SQL Server에 대한 정확한 인스턴스화

Oracle GoldenGate 23.8부터 SQL Server용 초기 로드 Extract를 사용하여 정확한 인스턴스화를 조정할 수 있습니다. 정확한 인스턴스화 방법을 사용하면 원본 데이터베이스에서 대상 데이터베이스로 데이터를 처음 로드할 수 있으며 원본 데이터베이스는 응용 프로그램 갱신을 위해 온라인 상태로 유지됩니다. 이 방법을 사용하면 타겟 데이터베이스에서 중복 데이터를 사용하지 않고 Replicat에서 HANDLECOLLISIONS를 사용할 필요 없이 변경 데이터 캡처 및 전달 프로세스를 정확하게 배치할 수 있습니다.

SQL Server용 Oracle GoldenGate에 대한 정확한 인스턴스화를 위해서는 스냅샷 격리를 허용하도록 소스 SQL Server 데이터베이스를 설정하고 초기 로드 Extract 내에서 INITIALLOADOPTIONS USESNAPSHOT 매개변수를 사용해야 합니다. 이 방법은 지원되는 SQL Server 소스 데이터베이스에서 지원되는 대상 데이터베이스를 인스턴스화하는 데 사용할 수 있습니다.

다음은 소스 인스턴스에서 스키마 덤프를 사용한 후 대상 인스턴스로 로드한 다음 변경 데이터 복제를 위한 Oracle GoldenGate 구성을 사용하는 샘플 정확한 인스턴스화 방법입니다.

  1. 소스 데이터베이스 테이블로 ADD TRANDATA

    DBLOGIN USERIDALIAS src_alias
    ADD TRANDATA dbo.*
  2. TRANDATA가 완료된 후 데이터베이스가 스냅샷 격리에 대해 활성화되었는지 확인하고 활성화되지 않은 경우 수동으로 활성화합니다.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION ON;
  3. 마이크로서비스 아키텍처의 경우 WebUI에 CDC 데이터 비우기 작업을 추가합니다. 자세한 내용은 CDC 스테이징 데이터 비우기 및 비우기 프로세스를 참조하십시오.

  4. INITIALLOADOPTIONS USESNAPSHOT 매개변수를 사용하여 초기 로드 추출을 생성합니다.

    ADD EXTRACT einit, SOURCEISTABLE
    --Sample Initial Load Extract Parameter File:
        EXTRACT einit
        USERIDALIAS tpcc_source2017
        INITIALLOADOPTIONS USESNAPSHOT
        EXTFILE ei, MEGABYTES 500, PURGE
        TABLE dbo.*;
  5. 초기 로드 추출을 시작합니다.

    START EXTRACT einit
  6. 초기 로드 추출이 완료되고 중지되면 보고서 파일을 보고 아래와 유사한 메시지를 찾습니다. 이 메시지는 CDC 추출을 생성할 때 사용됩니다.

    VIEW REPORT einit
    INFO    OGG-05381  A consistent point is established in database 'tpcc_source' at LSN 0x00000488:00002a98:0002.
    
        OGG-05379  Create or position a Change Data Capture Extract to LSN 0x00000488:00002a98:0002. Example: ADD EXTRACT <extract-name> TRANLOG LSN
    
        0x00000488:00002a98:0002 or ALTER EXTRACT <extract-name> LSN 0x00000488:00002a98:0002
  7. 이제 스냅샷 격리를 허용하는 소스 데이터베이스 옵션이 단계 2에서 수동으로 사용으로 설정된 경우 OFF로 다시 설정할 수 있습니다.

    ALTER DATABASE tpcc_source SET ALLOW_SNAPSHOT_ISOLATION OFF;
  8. 초기 로드 Extract의 보고서 파일에서 LSN 출력을 사용하여 CDC Extract를 생성합니다.

    ADD EXTRACT extcdc TRANLOG LSN 0x00000488:00002a98:0002
    ADD EXTTRAIL ea, EXTRACT extcdc
  9. 초기 로드 Extract에 의해 생성된 추적에서 읽는 초기 로드 Replicat를 생성하고 시작합니다.

    ADD REPLICAT rinit, PARALLEL, EXTTRAIL ei, CHECKPOINTTABLE ggadmin.ggcheck
    START rinit
    --Sample Initial Load Replicat Parameter file
        REPLICAT rinit
        USERIDALIAS tgt_alias
        BATCHSQL
        SPLIT_TRANS_RECS 100000
        MAP dbo.*, TARGET dbo.*;
  10. 초기 로드 Replicat가 처리를 종료하면 CDC Extract에 의해 생성된 추적에서 읽는 CDC Replicat를 생성하고 시작합니다.

    ADD REPLICAT repcd, PARALLEL, EXTTRAIL ea, CHECKPOINTTABLE ggadmin.ggcheck
    START EXTRACT extcdc
    START REPLICAT repcd