마이그레이션 유틸리티를 사용하여 클래식에서 마이크로서비스 아키텍처로 마이그레이션

Oracle GoldenGate Classic에서 마이크로서비스로 마이그레이션 유틸리티는 Oracle GoldenGate Classic Architecture 설치에서 마이크로서비스 배포로 마이그레이션하는 데 사용됩니다. 이 유틸리티는 Extracts, Replicats를 클래식 아키텍처 설치에서 마이크로서비스 배포로 마이그레이션하고 펌프 추출을 배포 경로로 변환하는 대화식 유틸리티입니다. 또한 추적 파일, 체크포인트 및 기타 연관된 아티팩트를 마이그레이션합니다.

마이그레이션 유틸리티는 MOS(My Oracle Support) 포털에서 패치 37274898로 제공됩니다.

필요한 경우 패치 업데이트가 릴리스됩니다. 패치 설명에는 최신 빌드 번호의 세부정보가 포함됩니다.

마이그레이션 유틸리티 사용 필요 조건

다음은 마이그레이션 유틸리티를 사용하기 위한 필수 조건입니다.

마이그레이션 유틸리티 제한 사항

마이그레이션 유틸리티는 다음 설정이 있는 프로세스를 마이그레이션할 수 없습니다.

마이그레이션 유틸리티 실행

이 섹션의 작업을 시작하기 전에 마이그레이션 유틸리티 사용을 위한 전제 조건에 설명된 단계를 완료했는지 확인합니다.

명령 프롬프트에서 다음 단계를 사용하여 Migration Utility를 실행합니다.

  1. 다음 명령을 실행하여 마이그레이션 유틸리티를 시작합니다.

    java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrun
    java -jar ogg-migration-package-23.4.0.0.0.jar -debug
    java -jar ogg-migration-package-23.4.0.0.0.jar -help

    이 명령에서 사용할 수 있는 옵션은 다음과 같습니다.

    • -classicHome path: (필수) Oracle GoldenGate Classic 소프트웨어 디렉토리의 위치를 가리켜야 합니다.

    • -dryrun: (선택 사항) 가능한 문제를 확인하기 위해 마이그레이션이 시뮬레이션됨(건조 실행 수행)을 나타냅니다.

    • -debug: 선택 사항이지만 이 옵션을 유틸리티와 함께 사용하는 것이 좋습니다. 디버그 레벨 로깅 및 진단을 사용으로 설정합니다. 더 자세한 로그 데이터를 제공하며 마이그레이션이 실패할 때 클래식 및 MA의 아티팩트가 포함된 zip 파일을 생성합니다.

    • -skipPumpURI: 펌프 마이그레이션 시 기본 URI 수락을 지정합니다.

    • -dbtype: 데이터베이스 이름을 지정합니다. 적합한 값은 'ORACLE', 'MYSQL', 'MSSQL', 'POSTGRESQL', 'SYBASE', 'DB2400', 'DB2ZOS', 'DB2LUW', 'TERADATA', 'TIMESTEN'입니다.

    • -help: 사용량을 표시합니다.

  2. 이 유틸리티는 MA 배포의 Service Manager에 대한 사용자 자격 증명을 묻는 메시지를 표시합니다.

    ***************************************************************************
    
    **      Oracle GoldenGate Classic to Microservices Migration Utility              **
    
    **        Version 23.4.0.0.0 Build 66 at Fri Jan 22 17:24:41 UTC 2024             **
    
    **  Copyright (C) 1995, 2024, Oracle and/or its affiliates. All rights reserved.  **
    
    **                                                                             **
    
    **         Operating system character set identified as UTF-8.                    **
    
    *******************************************************************************
    
    Command Entered: -classicHome /ogg/payroll -debug
    Log File for this session is /ogg/payroll/./Migration081321105419.log. Debug Mode is Enabled.
    Enter Service Manager Credentials: User Id: dba
    Password:
  3. 유틸리티는 호스트에서 서비스 관리자를 검색하고 둘 이상의 배치가 있는 경우 마이그레이션할 배치를 선택한 다음 계속할지 묻는 메시지를 표시합니다.

    Scanning for Microservices Deployments...
    Using Deployment payroll [cf4c7c93-3a1c-4cbc-b1ab-bc942bab7645]
    The following processes will be migrated to deployment payroll:
    Extracts: EXTE
    Replicats: REPW
    Pumps: DPE
    Do you wish to continue? (yes/no):>

    yes을 입력하여 계속합니다.

  4. 이 유틸리티는 클래식 배포의 데이터베이스 인증서를 대상 마이크로서비스 배포로 마이그레이션한 다음 클래식 배포의 모든 추적 파일을 복사하고 모든 추출 및 복제 프로세스를 마이그레이션합니다.

    Migrating Credentials from /ogg/payroll/./dircrd
    Migrating Credentials for Domain Payroll with an alias of ogg.
    Migrating Credentials for Domain Payroll with an alias of user.
    
    Copying Trail Files from /ogg/payroll/dirdat to /ogg/Microservices/payroll/var/lib/data.
    235 trail files copied.
    
    Migrating EXTRACT EXTE to http://10.20.0.221:9901.
    Checkpoint File(s) Copied and Converted Successfully.
    Parameter File EXTE.prm Saved Successfully.
    Migration of Extract EXTE Completed Successfully.
    
    Migrating REPLICAT REPW to http://10.20.0.221:9901.
    Parameter File REPW.prm Saved Successfully.
    Checkpoint File(s) Copied and Converted Successfully.
    Migration of Replicat REPW Completed Successfully.
  5. 그런 다음 이 유틸리티는 모든 Extract Pump 프로세스를 이전하고 각각의 대상 수신기 서비스에 대한 URL을 묻는 메시지를 표시합니다. 기본값을 적용하려면 Enter 키를 누릅니다.

    다른 대상을 사용하는 경우 URL을 입력합니다. 기본적으로 이 유틸리티는 클래식 펌프가 다른 클래식 배포 서버 프로세스로 전송되고 있다고 가정합니다. 기본 URL을 사용하면 배포 서비스가 기존 대상에 연결할 수 있습니다. 나중에 대상 클래식 배포를 마이그레이션하려는 경우 새로 생성된 배포 경로를 동시에 수정해야 합니다. 자세한 내용은 마이그레이션에 대한 다양한 사용 사례를 참조하십시오.

    주: 루프백 펌프는 Classic 펌프가 동일한 배치에서 동일한 Manager로 보내는 테스트 환경에서 일반적입니다. 이 루프백 펌프는 마이그레이션된 MA 배포 시 수신기 서비스로 자동으로 라우팅됩니다.

        Migrating PUMP PMPW2E to http://
    10.20.0.221:9902.
    
        Use Default Pump Target URI of ogg://ushost1:9903/services/v2/targets?trail=./bb?
        Press Enter to Accept or type Alternate URI:>
        Creating Distribution Path for Pump PMPW2E.
        Distribution Path Created Successfully.
        Setting trail sequence to 235 with an RBA of 1319472691.
    
        Migration of Pump PMPW2E Completed Successfully.
    
        Migrating Manager tasks to http://10.20.0.221:9901.
        Creating Task for Parameter PurgeTrail-aa. Task Created Successfully.
        Creating Task for Parameter Purge-Extract. Task Created Successfully.
        2 Tasks were migrated, 2 Successfully, 0 with errors.
    
        Migrating Lag Report.
        Creating Task for Parameter LagReport. Task Created Successfully.
        Migration pf Manager Tasks Completed Successfully.
  6. 그런 다음 이 유틸리티는 GLOBALS 구성 파일의 매개변수를 마이그레이션해야 하는지 여부를 묻고 발생한 문제를 보고합니다.

    Do you wish to migrate your GLOBALS parameters? (yes/no):> y
    GLOBAL parameters successfully migrated, 3 parameters merged.
  7. 유틸리티는 기존 전자 지갑 항목이 있는 경우 해당 항목을 복사하라는 메시지를 표시하고 대상 전자 지갑에 항목이 있는 경우 경고를 표시합니다. 이러한 대상 전자 지갑 항목을 겹쳐씁니다. 이 작업이 완료되면 유틸리티가 종료됩니다.

    Your Classic Deployment has existing wallet entries.
    Do you wish to copy them? (yes/no):> y
    
    Copying Oracle Wallet Entries.
    
    WARNING: Target deployment has existing wallet entries and will be overwritten!
    
    Do you wish to continue? (yes/no):> y
    Wallet entries successfully copied.
    
    Migration Processing Complete, 3 processes were migrated successfully.

    마이그레이션에 성공한 경우 .migrated를 이름에 추가하여 Classic dirchk 디렉토리의 체크포인트 파일 이름을 바꿉니다. 이렇게 하면 클래식 배포 프로세스가 실수로 시작되지 않습니다.

    유틸리티에서 문제가 발생하여 마이그레이션 프로세스를 완료할 수 없는 경우 수행된 모든 작업의 롤백을 수행하고 Classic 배포를 원래 상태로 복원합니다. 문제 진단에 도움이 되도록 로그 파일 classic configuration 및 target configuration를 포함하는 진단 zip 파일이 생성됩니다.

마이그레이션의 여러 사용 사례

Oracle GoldenGate Classic Architecture 배치는 일반적으로 자체적으로 포함되지 않습니다. 배치는 일반적으로 상호 연결된 토폴로지가 매우 복잡한 Pump 프로세스를 사용하여 트레일 데이터를 다른 배치로 보냅니다. 배포가 마이크로서비스로 마이그레이션되는 경우에도 추적 데이터를 다른 클래식 또는 마이크로서비스 배포로 전송할 수 있습니다. 마이크로서비스 아키텍처의 주요 기능은 TLS/SSL 및 보안 웹 소켓과 같은 설정된 보안 프로토콜을 사용하여 배포를 보호하는 기능입니다.

배포를 마이그레이션할 때는 잘 생각된 접근 방식을 사용해야 합니다. 일반적으로 소스 및 타겟 배포는 한 번에 모두 마이그레이션하지 않고 개별적으로 마이그레이션하는 것이 좋습니다. 마이그레이션 유틸리티를 사용하면 배포를 하나씩 마이그레이션할 수 있습니다. 소스 배치는 비보안 프로토콜을 사용하여 Classic Server/Collector 또는 Receiver Service와 통신하므로 마이그레이션된 배포 경로는 해당 경로의 레거시 ogg 프로토콜을 사용합니다. 이 기능은 작동하지만 완전히 안전한 배포를 만드는 데 마이크로서비스 아키텍처의 보안 기능을 활용하지는 않습니다.

모든 배포가 마이크로서비스 아키텍처로 마이그레이션된 후 또는 소스 및 대상 배포가 마이그레이션될 때마다 마이그레이션 유틸리티에서 생성한 배포 경로를 wss 또는 ws 프로토콜을 사용하는 배포 경로로 바꾸는 것이 좋습니다.

배포 및 프로세스를 마이크로서비스 아키텍처로 단계적으로 마이그레이션할 수 있도록 소스 및 대상 클래식 아키텍처 배포를 독립적으로 마이그레이션할 수 있습니다.

다음은 배포 경로를 설정하는 동안 사용되는 여러 사용 사례 및 관련 배포 프로토콜을 나열합니다.

소스 대상 배포 프로토콜 설명

허브 아키텍처(배포 추적 없음)

클래식에서 마이크로서비스로 마이그레이션

해당 사항 없음 해당 사항 없음 해당 사항 없음
클래식에서 마이크로서비스로 마이그레이션 클래식 배치 ogg 프로토콜을 사용하여 일반 배치 대상 지정 -
클래식에서 마이크로서비스로 마이그레이션 마이크로서비스 배포 ogg 프로토콜 선택적으로 ws 또는 wss 프로토콜을 사용하도록 DISTPATH를 삭제했다가 다시 만듭니다(대상이 역 프록시로 보안되는 경우).
클래식 배치 클래식에서 마이크로서비스로 마이그레이션 대상 수신기 서비스에 대한 펌프

소스 펌프를 수정해야 합니다.

수신기 서비스 포트 및 원격 추적

마이크로서비스 배포 클래식에서 마이크로서비스로 마이그레이션 ogg 프로토콜 DISTPATH 삭제 후 다시 만들고 ws 또는 wss 프로토콜을 사용합니다(대상이 역 프록시로 보안되는 경우).

대상이 마이크로서비스인 클래식에서 마이크로서비스로 소스 마이그레이션

이 사용 사례에서는 시퀀스 번호(seqno) 및 RBA 값을 지정하여 배포 경로를 삭제하고 재생성하여 ws 또는 wss 프로토콜(대상이 역 프록시로 보안되는 경우)을 사용할 수 있습니다. 대상 배포에서 마이크로서비스 아키텍처를 사용하므로 이는 선택 사항입니다.

관리 클라이언트를 실행하고 소스 배치에 연결하여 SEQNO 및 RBA 값을 가져옵니다.

OGG (http://north:9001)> INFO DISTPATH dpe, DETAIL
Path Name: dpe Status: running
Source: trail://north:9002/services/v2/sources?trail=ea
Target: ogg://south:9003/services/v2/targets?trail=ra
Authentication Method: USERIDALIAS ggsca domain OracleGoldenGate
[...]
Checkpoints:
Input Checkpoint:
  Current:
     Name: ea
     Sequence: 14
     Offset: 2579
     Path: /u01/ogg_deployments/depl_north/var/lib/data/
[...]

마이그레이션 유틸리티에 의해 만들어진 배포 경로를 다시 만들고 재배치하여 배포 경로를 ws 또는 wss 프로토콜로 변환합니다.

OGG (http://south:9001)> DELETE DISTPATH dpe, DETAIL

## If using Secure Web Socket Protocol (wss)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET wss://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION CERTIFICATE default
## If using Web Socket Protocol (ws)
OGG (http://south:9001)> ADD DISTPATH dpm
                         SOURCE trail://src_host:9002/services/v2/sources?trail=ea
                         TARGET ws://trg_host:9003/services/v2/targets?trail=ra
                         AUTHENTICATION USERIDALIAS ggsca DOMAIN OracleGoldenGate
OGG (http://south:9001)> ALTER DISTPATH dpm, BEGIN SEQNO 14, RBA 2579
OGG (http://south:9001)> START DISTPATH dpm

소스가 마이크로서비스인 클래식에서 마이크로 서비스로 대상 마이그레이션

이 사용 사례에서는 대상이 역 프록시로 보안되는 경우 ws 또는 wss 프로토콜을 사용하도록 배포 경로를 삭제하고 다시 만들어야 합니다. Migrating Source from Classic to Microservices with Target as Microservices의 단계에 따라 대상 배포에서 배포 경로를 삭제하고 재생성합니다.

소스가 클래식인 클래식에서 마이크로서비스로 대상 마이그레이션

소스 배포가 클래식 아키텍처에 있는 동안 대상 배포를 마이크로서비스 아키텍처로 마이그레이션하는 경우 다음 추가 단계를 수행해야 합니다.

다음 예에 표시된 것처럼 대상 관리자 포트 번호가 수신기 서비스 포트 번호 9903으로 변경되었으며 Extract Pump 매개변수 파일에서 RMTTRAIL 파일 경로가 수정되었습니다.

GGSCI> STOP EXTRACT PMPW2E
GGSCI> EDIT PARAMS PMPW2E

다음은 Extract Pump 파라미터 파일입니다.

EXTRACT PMPW2E
USERIDALIAS ggeast,
target uri: host1:9903/services/v2/targets?trail=./bb? ENCRYPT AES192,
RMTTRAIL ./rt SEQUENCE hr.employees_seq; TABLE hr.*;

수정을 완료한 후 Extract Pump 재시작:

GGSCI> START EXTRACT PMPW2E

주: 대상으로 전달되는 추적 파일은 없습니다.

마이그레이션이 시작되기 전에 소스에서 모든 프로세스를 정상적으로 중지합니다.