사후 업그레이드 단계

여러 업그레이드 시나리오의 업그레이드 후 작업에 대해 알아봅니다.

Oracle GoldenGate 데이터 복제 설정을 시작하기 전에 완료해야 하는 업그레이드 후 단계가 여러 개 있습니다. 태스크는 다음과 같습니다.

하트비트 테이블 업그레이드

업그레이드를 완료한 후 이전에 생성된 소스 및 대상 데이터베이스에 대해 UPGRADE HEARTBEATTABLE 명령을 실행하여 테이블 및 지연 뷰에 대한 추가 열을 추가합니다. 해당 추가 열은 Extract 재시작 위치를 추적하는 데 사용됩니다. 자세한 내용은 UPGRADE HEARTBEATTABLE`를 참조하십시오.

Oracle GoldenGate for PostgreSQL용 업그레이드 추출

PostgreSQL의 Oracle GoldenGate CDC Capture 지원은 PostgreSQL 데이터베이스에서 복제 슬롯을 사용하여 WAL에서 변경 레코드를 읽는 데 사용됩니다. 각 CDC Extract에 사용되는 복제 슬롯 이름은 Oracle GoldenGate 설치 경로에 따라 달라집니다.

기존 Oracle GoldenGate 환경에서 동일한 Extract를 사용하여 업그레이드 후에도 새 Oracle GoldenGate 환경에서 변경 레코드를 계속 캡처할 수 있습니다. 단, Extract가 업그레이드 시점까지 변경 레코드 캡처를 완료하지는 않았습니다. 그러나 새 Oracle GoldenGate 설치 디렉토리가 업그레이드에 사용된 경우 이 작업을 수행할 수 없습니다. 이렇게 하려면 기존 Oracle GoldenGate 설치 디렉토리를 사용해야 합니다.

이전 Oracle GoldenGate 버전을 업그레이드하거나 Oracle GoldenGate Classic Architecture에서 마이크로서비스 아키텍처로 마이그레이션하려면 다음 단계를 사용합니다.

주: 다음 단계에서는 추출 이름 extn을 예로 사용합니다.

  1. 이전 환경에서 Oracle GoldenGate CDC Extract에서 사용 중인 복제 슬롯 이름을 가져옵니다. 이전 복제 슬롯 이름은 Extract 보고서 파일에서 또는 INFO EXTRACT 명령을 실행하여 가져올 수 있습니다.

    이전 Oracle GoldenGate 환경의 추출 보고서 파일에서. 다음은 추출 보고서 파일의 예제 코드 조각입니다.

    2024-01-09 11:49:38  INFO    OGG-25376  Oracle GoldenGate capture 'EXTN' running with replication slot 'ext1_5d87a7db5e810943', slot type 'logical', plugin name
    as 'test_decoding' attached with database 'postgres' with slot restart LSN as '6/3CBFE2B8', flush LSN as '6/3CBFE2F0' and its current TXID as '7899713'.

    Extract 보고서 파일의 복제 슬롯 이름을 확인합니다. 이 예에서는 extn_5d87a7db5e810943입니다.

    다음 예와 같이 이전 Oracle GoldenGate 환경에서 GGSCI 또는 관리 클라이언트에서 INFO EXTRACT 명령을 실행할 수도 있습니다.

    GGSCI (phoenix96567 as postgres@pg12) 10> info extract extn

    출력:

    Extract    EXT1      Last Started 2024-01-09 11:49   Status RUNNING
    Checkpoint Lag       00:00:45 (updated 00:00:01 ago)
    Process ID           3640439
    VAM Read Checkpoint  2024-01-09 11:48:52.575833
    Replication Slot     extn_5d87a7db5e810943 is active with PID 3640450 in database postgres
    Slot Restart LSN     6/3CBFE2B8
    Slot Flush LSN       6/3CBFE2F0
    Current Log Position 6/3CBFE2F0
  2. 최신 Oracle GoldenGate 환경에서 Oracle GoldenGate CDC Extract와 관련된 복제 슬롯 이름을 가져옵니다. UNREGISTER EXTRACT 명령을 실행하여 새 복제 슬롯 이름을 가져옵니다.

    unregister extract extn

    출력:

    2024-01-09 11:43:37  INFO    OGG-25354  The replication slot 'extn_6ec0db7cc27c812' for group 'EXTN' does not exist in database 'postgres'.

    오류 메시지에서 복제 슬롯 이름을 확인합니다. 이 예에서는 extn_6ec0db7cc27c812입니다.

  3. 해당 소스 PostgreSQL 데이터베이스에서 다음 SQL 질의를 실행합니다(PSQL을 사용할 수 있음).

    SELECT * FROM pg_copy_logical_replication_slot('*old-replication-slot*', '*new-replication-slot*');

    예:

    SELECT * FROM pg_copy_logical_replication_slot('extn_5d87a7db5e810943', 'extn_6ec0db7cc27c812');
  4. 추출 체크포인트 파일, 추적 파일 및 기타 구성 파일을 이전 Oracle GoldenGate 환경에서 새 환경으로 복사해야 합니다.

  5. new-replication-slot의 LSN 위치가 old-replication-slot와 동일한지 확인하고 확인합니다.

  6. 이전 Oracle GoldenGate 환경에서 UNREGISTER EXTRACT extract_name 명령을 실행합니다. 예:

    UNREGISTER EXTRACT extn
  7. 새 Oracle GoldenGate 환경에서 Extract를 시작하여 변경 레코드 캡처를 재개합니다.