마이그레이션 유틸리티를 사용하여 클래식에서 마이크로서비스 아키텍처로 마이그레이션
Oracle GoldenGate Classic에서 마이크로서비스로 마이그레이션 유틸리티는 Oracle GoldenGate Classic Architecture 설치에서 마이크로서비스 배포로 마이그레이션하는 데 사용됩니다. 이 유틸리티는 Extracts, Replicats를 클래식 아키텍처 설치에서 마이크로서비스 배포로 마이그레이션하고 펌프 추출을 배포 경로로 변환하는 대화식 유틸리티입니다. 또한 추적 파일, 체크포인트 및 기타 연관된 아티팩트를 마이그레이션합니다.
마이그레이션 유틸리티는 MOS(My Oracle Support) 포털에서 패치 37274898로 제공됩니다.
필요한 경우 패치 업데이트가 릴리스됩니다. 패치 설명에는 최신 빌드 번호의 세부정보가 포함됩니다.
마이그레이션 유틸리티 사용 필요 조건
다음은 마이그레이션 유틸리티를 사용하기 위한 필수 조건입니다.
-
Oracle GoldenGate 19c 이상, 번들 패치 200714 이상 소스 Classic Architecture 설치의 최소 버전입니다.
주: 기본 데이터베이스/시스템이 이전 버전(예: DAA용 Oracle GoldenGate)에서 Oracle GoldenGate Microservices Architecture를 이미 지원하는 경우 이전 유틸리티를 Oracle GoldenGate 21c와 함께 사용할 수도 있습니다. 기본 데이터베이스가 마이크로서비스 아키텍처를 지원하지 않는 경우 이기종 데이터베이스에 Oracle GoldenGate 26ai를 사용할 수 있습니다.
-
Java 버전 1.8 JRE 이상(Oracle GoldenGate에서 제공한 것과 동일)
-
Microservices Architecture를 사용하여 만든 새 배포는 Classic Architecture 설치의 로컬 배포이거나 동일한 호스트에서 Classic Architecture 홈 파일 시스템을 사용할 수 있어야 합니다.
-
새 마이크로서비스 아키텍처 배포가 생성되고 모든 서비스가 실행됩니다.
-
이전 중 Classic Architecture 설치를 중지해야 합니다. 서버 수집기(있는 경우)도 중지되었는지 확인합니다. 비정상 종료 프로세스를 재시작하고 정상적으로 종료해야 합니다.
-
마이그레이션 유틸리티는 Microservices Architecture 배포에 대해 환경 변수가 설정된 셸/명령 프롬프트에서 실행해야 합니다.
OGG_HOME에 대한 환경 변수는 Oracle GoldenGate Microservices 소프트웨어 디렉토리 위치로 설정해야 합니다.Microsoft Windows에서
PATH변수는OGG_HOME\lib를 가리켜야 합니다.UNIX 및 Linux 플랫폼에서는
LD_LIBRARY_PATH가OGG_HOME/lib를 가리켜야 합니다.
마이그레이션 유틸리티 제한 사항
마이그레이션 유틸리티는 다음 설정이 있는 프로세스를 마이그레이션할 수 없습니다.
-
변환을 수행하거나
DBLOGIN를 가지는 펌프 추출 프로세스입니다. -
클래식 추출(Oracle GoldenGate 19c에서 더 이상 사용되지 않으며 19.1보다 큰 대상 MA의 경우 버전 21c에서 지원되지 않음)
-
다음 매개변수를 사용하는 프로세스:
-
MACRO -
OBEY -
MACROCHAR
-
-
원격 추적 파일, 원격 작업 또는 초기 로드 사용
-
추적 파일에 대한 절대 경로 이름입니다. 클래식 트레일 파일은
./dirdat(또는 그 안의 하위 디렉토리)에 있어야 합니다. 트레일 파일이 다른 디렉토리에 상주하는 경우./dirdat로 이동한 다음 Extract에 대해convchk유틸리티를 사용하여 체크포인트를 수정할 수 있습니다. 그런 다음 영향을 받는 Replicat에 대한 매개변수를 수정합니다. Oracle GoldenGate 26ai용 Oracle GoldenGate용 매개변수 및 함수 참조의 convchk를 참조하십시오. -
제한 사항 포함:
-
중첩 포함
-
Extract Pump가 아닌 Extract 및 Replicats에서만 가능합니다.
-
-
DAA용 Oracle GoldenGate(만 해당): 각 Extract 및 Replicat 그룹에 대해 해당
.properties파일에서 해당 값이 Classic 파일 시스템의 파일을 참조하는 속성을 수동으로 검사해야 합니다. 이러한 각 등록 정보에 대해 다음 수동 마이그레이션 단계를 수행합니다.-
참조된 파일을 마이크로서비스 배포 파일 시스템에 복사합니다.
-
Microservices 배치 파일 시스템의 새 파일 경로를 참조하도록 등록 정보 값을 수정합니다.
-
마이그레이션 유틸리티 실행
이 섹션의 작업을 시작하기 전에 마이그레이션 유틸리티 사용을 위한 전제 조건에 설명된 단계를 완료했는지 확인합니다.
명령 프롬프트에서 다음 단계를 사용하여 Migration Utility를 실행합니다.
-
다음 명령을 실행하여 마이그레이션 유틸리티를 시작합니다.
java -jar ogg-migration-package-23.4.0.0.0.jar -classicHome /scratch/ogg/home -dryrunjava -jar ogg-migration-package-23.4.0.0.0.jar -debugjava -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: 사용량을 표시합니다.
-
-
이 유틸리티는 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: -
유틸리티는 호스트에서 서비스 관리자를 검색하고 둘 이상의 배치가 있는 경우 마이그레이션할 배치를 선택한 다음 계속할지 묻는 메시지를 표시합니다.
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을 입력하여 계속합니다. -
이 유틸리티는 클래식 배포의 데이터베이스 인증서를 대상 마이크로서비스 배포로 마이그레이션한 다음 클래식 배포의 모든 추적 파일을 복사하고 모든 추출 및 복제 프로세스를 마이그레이션합니다.
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. -
그런 다음 이 유틸리티는 모든 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. -
그런 다음 이 유틸리티는 GLOBALS 구성 파일의 매개변수를 마이그레이션해야 하는지 여부를 묻고 발생한 문제를 보고합니다.
Do you wish to migrate your GLOBALS parameters? (yes/no):> y GLOBAL parameters successfully migrated, 3 parameters merged. -
유틸리티는 기존 전자 지갑 항목이 있는 경우 해당 항목을 복사하라는 메시지를 표시하고 대상 전자 지갑에 항목이 있는 경우 경고를 표시합니다. 이러한 대상 전자 지갑 항목을 겹쳐씁니다. 이 작업이 완료되면 유틸리티가 종료됩니다.
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를 이름에 추가하여 Classicdirchk디렉토리의 체크포인트 파일 이름을 바꿉니다. 이렇게 하면 클래식 배포 프로세스가 실수로 시작되지 않습니다.유틸리티에서 문제가 발생하여 마이그레이션 프로세스를 완료할 수 없는 경우 수행된 모든 작업의 롤백을 수행하고 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의 단계에 따라 대상 배포에서 배포 경로를 삭제하고 재생성합니다.
소스가 클래식인 클래식에서 마이크로서비스로 대상 마이그레이션
소스 배포가 클래식 아키텍처에 있는 동안 대상 배포를 마이크로서비스 아키텍처로 마이그레이션하는 경우 다음 추가 단계를 수행해야 합니다.
-
소스 경로 지정 시 펌프 포트를 대상 수신기 서비스로 수정합니다.
-
dirdat디렉토리는 대상 Microservices 파일 계층에 필요하지 않습니다. 다음 예제와 같이 Extract Pump 매개변수 파일에서RMTTRAIL파일을./dirdat/ra에서./ra로 수정합니다.
다음 예에 표시된 것처럼 대상 관리자 포트 번호가 수신기 서비스 포트 번호 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
주: 대상으로 전달되는 추적 파일은 없습니다.
마이그레이션이 시작되기 전에 소스에서 모든 프로세스를 정상적으로 중지합니다.