오라클 데이터 펌프와 AWS DMS를 사용하여 오라클 JD 에드워즈 EnterpriseOne 데이터베이스를 AWS로 마이그레이션하십시오. - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

오라클 데이터 펌프와 AWS DMS를 사용하여 오라클 JD 에드워즈 EnterpriseOne 데이터베이스를 AWS로 마이그레이션하십시오.

작성자: Thanigaivel Thirumalai(AWS)

환경: 프로덕션

출처: 오라클 JD 에드워즈 EnterpriseOne

대상: Amazon RDS for Oracle

R 유형: 리플랫포밍

워크로드: Oracle

기술: 마이그레이션, 데이터베이스

AWS 서비스: Amazon RDS; AWS DMS

요약

JD Edwards EnterpriseOne 데이터베이스를 Amazon 관계형 데이터베이스 서비스 (Amazon RDS) 에서 마이그레이션하고 실행할 수 있습니다. 데이터베이스를 Amazon RDS로 마이그레이션하면 AWS에서 백업 작업과 고가용성 설정을 처리하므로 사용자는 EnterpriseOne 애플리케이션과 해당 기능을 유지 관리하는 데 집중할 수 있습니다. 마이그레이션 프로세스 중에 고려해야 할 주요 요소의 포괄적인 목록은 AWS 권장 가이드의 Oracle 데이터베이스 마이그레이션 전략을 참고하십시오.

EnterpriseOne 데이터베이스를 마이그레이션하는 방법은 다음과 같이 여러 가지가 있습니다.

  • 스키마 및 테이블 생성에는 Oracle Universal Batch Engine (UBE) R98403 사용, 마이그레이션에는 AWS Database Migration Service(AWS DMS) 사용

  • 스키마 및 테이블 생성에는 DB 네이티브 도구 사용, 마이그레이션에는 AWS DMS 사용

  • 기존 데이터 마이그레이션(전체 로드)을 위한 DB 네이티브 도구 사용, 변경 데이터 캡처(CDC) 작업을 위한 AWS DMS 사용

이 패턴은 세 번째 옵션을 다룹니다. AWS DMS 및 CDC 기능과 함께 Oracle 데이터 펌프를 사용하여 온 프레미스 EnterpriseOne 데이터베이스를 Amazon RDS for Oracle로 마이그레이션하는 방법을 설명합니다.

Oracle JD EnterpriseOne Edwards는 제품 또는 물리적 자산을 제조, 건설, 배포, 서비스 또는 관리하는 조직을 위한 엔터프라이즈 리소스 계획 (ERP) 솔루션입니다. JD EnterpriseOne Edwards는 다양한 하드웨어, 운영 체제 및 데이터베이스 플랫폼을 지원합니다.

JD EnterpriseOne Edwards와 같은 중요한 ERP 애플리케이션을 마이그레이션할 때는 다운타임을 최소화하는 것이 중요합니다. AWS DMS는 소스 데이터베이스에서 대상 데이터베이스로의 전체 로드와 연속 복제를 모두 지원하여 가동 중지 시간을 최소화합니다. 또한, AWS DMS는 마이그레이션에 대한 실시간 모니터링 및 로깅을 제공하므로 가동 중지 시간을 유발할 수 있는 문제를 식별하고 해결하는 데 도움이 됩니다.

AWS DMS로 변경 내용을 복제할 때는 데이터베이스 로그에서 변경 내용을 읽기 위한 시작 지점으로 시간 또는 SCN(시스템 변경 번호)를 지정해야 합니다. AWS DMS가 이러한 변경 사항에 액세스할 수 있도록 하려면 지정된 시간(15일 권장) 동안 서버에서 이러한 로그에 액세스할 수 있도록 유지하는 것이 중요합니다.

사전 조건 및 제한 사항

사전 조건 

  • 대상 데이터베이스로 AWS 클라우드 환경에서 프로비저닝된 Amazon RDS for Oracle용 데이터베이스. 자세한 지침은 Amazon RDS 설명서를 참조하세요.

  • 온프레미스 또는 AWS의 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스에서 실행되는 EnterpriseOne 데이터베이스입니다.

    참고: 이 패턴은 온프레미스에서 AWS로 마이그레이션하기 위해 설계되었지만 EC2 인스턴스의 EnterpriseOne 데이터베이스를 사용하여 테스트되었습니다. 온프레미스 환경에서 마이그레이션하려는 경우 적절한 네트워크 연결을 구성해야 합니다.

  • 스키마 세부 정보. 마이그레이션하려는 Oracle 데이터베이스 스키마 (예: DV920) 를 식별하십시오. EnterpriseOne 마이그레이션 프로세스를 시작하기 전에 스키마에 대한 다음과 같은 세부 정보를 수집합니다.

    • 스키마 크기

    • 객체 유형당 객체 수

    • 잘못된 객체 수

제한 사항

  • 대상 Amazon RDS for Oracle 데이터베이스에서 원하는 스키마를 생성해야 합니다. AWS DMS는 이러한 스키마를 생성하지 않습니다. (에픽 섹션에서는 Data Pump를 사용하여 스키마를 내보내고 가져오는 방법을 설명합니다.) 대상 Oracle 데이터베이스에 대한 스키마 이름이 이미 있어야 합니다. 원본 스키마의 테이블을 사용자 또는 스키마로 가져오게 되며, AWS DMS가 관리자 또는 시스템 계정을 사용하여 대상 인스턴스에 연결합니다. 여러 스키마를 마이그레이션하려면 다중 복제 작업을 생성하면 됩니다. 대상 인스턴스의 다른 스키마로 데이터를 마이그레이션할 수도 있습니다. 이를 위해서는 AWS DMS 테이블 매핑의 스키마 변환 규칙을 사용하십시오.

  • 이 패턴은 데모 데이터 세트로 테스트되었습니다. 데이터 세트와 사용자 지정의 호환성을 검증하는 것을 권장합니다.

  • 이 패턴은 Microsoft Windows에서 실행되는 EnterpriseOne 데이터베이스를 사용합니다. 하지만 AWS DMS에서 지원하는 다른 운영 체제에서도 동일한 프로세스를 사용할 수 있습니다.

아키텍처

다음 다이어그램은 Oracle EnterpriseOne 데이터베이스에서 원본 데이터베이스로, Amazon RDS for Oracle 데이터베이스에서 대상 데이터베이스로 실행되는 시스템을 보여줍니다. 데이터를 소스 Oracle 데이터베이스에서 내보내고, Oracle Data Pump를 사용하여 대상 Amazon RDS for Oracle 데이터베이스로 가져오고, AWS DMS를 사용하여 CDC 업데이트를 위해 복제합니다.

  1. Oracle Data Pump는 소스 데이터베이스에서 데이터를 추출하고, 이 데이터는 Amazon RDS for Oracle 데이터베이스 대상으로 전송됩니다.

  2. CDC 데이터는 소스 데이터베이스에서 AWS DMS의 소스 엔드포인트로 전송됩니다.

  3. 소스 엔드포인트에서 데이터는 AWS DMS 복제 인스턴스로 전송되며, 여기서 복제 작업이 수행됩니다.

  4. 복제 작업이 완료되면 데이터가 AWS DMS의 대상 엔드포인트로 전송됩니다.

  5. 대상 엔드포인트에서 데이터는 Amazon RDS for Oracle용 데이터베이스 인스턴스로 전송됩니다.

도구

서비스

기타 서비스

  • Oracle Data Pump를 사용하면 한 데이터베이스에서 다른 데이터베이스로 데이터와 메타데이터를 빠른 속도로 이동할 수 있습니다.

모범 사례

LOB 마이그레이션

소스 데이터베이스에 대상 데이터베이스로 마이그레이션해야 하는 대형 바이너리 객체(LOB)가 포함된 경우, AWS DMS는 다음과 같은 옵션을 제공합니다.

  • 전체 LOB 모드 – AWS DMS는 모든 LOB를 크기에 관계없이 소스에서 대상 데이터베이스로 마이그레이션합니다. 마이그레이션은 다른 모드보다 느리지만 데이터가 잘리지 않는다는 장점이 있습니다. 성능 향상을 위해 새 복제 인스턴스에서 별도의 작업을 생성하여 LOB가 몇 메가바이트보다 큰 테이블을 마이그레이션할 수 있습니다.

  • 제한된 LOB 모드 — LOB 열 데이터의 최대 크기를 지정하면 AWS DMS가 리소스를 사전 할당하고 LOB를 대량으로 적용할 수 있습니다. LOB 열의 크기가 작업에 지정된 크기를 초과하는 경우 AWS DMS는 데이터를 자르고 AWS DMS 로그 파일에 경고를 보냅니다. LOB 데이터 크기가 제한된 LOB 크기 이내인 경우 제한된 LOB 모드를 사용하여 성능을 개선할 수 있습니다.

  • 인라인 LOB 모드 - 작은 LOB와 큰 LOB를 모두 복제하여 데이터를 자르거나 작업 성능을 저하시키지 않고 LOB를 마이그레이션할 수 있습니다. 먼저 InlineLobMaxSize 매개변수 값을 지정합니다. 이 값은 전체 LOB 모드가 true로 설정된 경우에만 사용할 수 있습니다. AWS DMS 작업은 소규모 LOB를 인라인으로 전송하므로 더 효율적입니다. 그런 다음 AWS DMS는 소스 테이블에서 조회를 수행하여 대규모 LOB를 마이그레이션합니다. 하지만 인라인 LOB 모드는 전체 로드 단계에서만 작동합니다.

시퀀스 값 생성

AWS DMS CDC 프로세스 중에는 소스 데이터베이스에서 증분 시퀀스 번호가 복제되지 않습니다. 시퀀스 값의 불일치를 방지하려면 모든 시퀀스의 소스에서 가장 최근의 시퀀스 값을 생성하여 대상 Amazon RDS for Oracle 데이터베이스에 적용해야 합니다.

AWS Secrets Manager

보안 인증 정보를 관리하는 데 도움이 되도록 AWS Secrets Manager를 사용하여 AWS DMS 엔드포인트 보안 인증 정보 관리하기 블로그 게시물의 지침을 따르는 것을 권장합니다.

성능

  • 복제 인스턴스 ‒ 최적의 인스턴스 크기 선택에 대한 지침은 AWS DMS 설명서의 복제 인스턴스에 가장 적합한 크기 선택하기를 참고하십시오.

  • 연결 옵션 ‒ 지연 문제를 방지하려면 적절한 연결 옵션을 선택하는 것을 권장합니다. AWS Direct Connect는 기업 데이터 센터와 AWS 간의 전용 연결이기 때문에 AWS 리소스에 대해 최단 경로를 제공합니다. 전송 중에는 네트워크 트래픽은 AWS 글로벌 네트워크에 남아 있으며 인터넷을 통해 전송되지 않습니다. 이렇게 하면 VPN 또는 공용 인터넷을 사용할 때와 비교할 때 병목 현상이 발생하거나 예상치 못한 지연 시간 증가가 발생할 가능성이 줄어듭니다.

  • 네트워크 대역폭 ‒ 성능을 최적화하려면 네트워크 처리량이 빠른지 확인하십시오. 온프레미스 소스 데이터베이스와 AWS DMS 간에 VPN 터널을 사용하는 경우 대역폭이 워크로드에 충분한지 확인하십시오.

  • 작업 병렬화 ‒ 전체 로드 중에 여러 테이블을 병렬로 로드하여 데이터 복제 속도를 높일 수 있습니다. 이 패턴은 RDBMS 엔드포인트를 사용하므로 이 옵션은 전체 로드 프로세스에만 적용됩니다. 작업 병렬화는 병렬로 실행되는 전체 로드 하위 작업의 수를 결정하는 MaxFullLoadSubTasks 매개변수에 의해 제어됩니다. 기본적으로 이 매개변수는 8로 설정되어 있습니다. 즉, 전체 모드에서 8개 테이블(테이블 매핑에서 선택한 경우)이 함께 로드됩니다. 작업에 대한 JSON 스크립트의 전체 로드 작업 설정 섹션에서 이 매개변수를 조정할 수 있습니다.

  • 테이블 병렬화 ‒ AWS DMS를 사용하면 여러 병렬 스레드를 사용하여 하나의 대형 테이블을 로드할 수도 있습니다. 이는 수십억 개의 레코드뿐만 아니라 여러 파티션과 하위 파티션이 있는 Oracle 소스 테이블에 특히 유용합니다. 소스 테이블이 파티셔닝되지 않은 경우 병렬 로드에 열 경계를 사용할 수 있습니다.

  • 로드 분할 ‒ 로드를 여러 작업 또는 AWS DMS 인스턴스로 분할하는 경우 변경 사항을 캡처할 때 트랜잭션 경계를 기억해 두십시오.

에픽

작업설명필요한 기술

SCN을 생성합니다.

소스 데이터베이스가 활성 상태이고 EnterpriseOne 응용 프로그램에서 사용 중인 경우 Oracle Data Pump를 사용하여 데이터 내보내기를 시작합니다. 먼저 Oracle Data Pump를 사용하여 내보내는 동안 데이터 일관성을 유지하고 AWS DMS에서 CDC의 시작점으로 사용하기 위해 소스 데이터베이스에서 시스템 변경 번호(SCN)를 생성해야 합니다.

소스 데이터베이스에서 현재 SCN을 생성하려면 다음 SQL 문을 사용합니다.

SQL> select current_scn from v$database; CURRENT_SCN ----------- 30009727

생성된 SCN을 저장합니다. 데이터를 내보내고 AWS DMS 복제 작업을 생성할 때 SCN을 사용합니다.

DBA

파라미터 파일을 생성합니다.

스키마를 내보내기 위한 매개변수 파일을 만들려면 다음 코드를 사용할 수 있습니다.

directory=DMS_DATA_PUMP_DIR logfile=export_dms.log dumpfile=export_dms_data.dmp schemas=<schema name> flashback_scn=<SCN from previous command>

참고: 요구 사항에 따라 다음 명령을 사용하여 나만의 DATA_PUMP_DIR을 정의할 수도 있습니다.

SQL> CREATE OR REPLACE DIRECTORY DMS_DATA_PUMP_DIR AS '<Directory for dump>'; Directory created. SQL> GRANT READ, WRITE ON DIRECTORY DMS_DATA_PUMP_DIR TO SYSTEM; Grant succeeded.
DBA

스키마를 내보냅니다.

내보내기를 수행하려면 다음과 같이 expdp 유틸리티를 사용하십시오.

C:\Users\Administrator>expdp system/********@<DB Name> PARFILE='<Path to PAR file create above>' Export: Release 19.0.0.0.0 - Production on *** *** ** **:**:** **** Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02": system/********@<DB Name>PARFILE='E:\exp_dms_datapump.par' Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type SCHEMA_EXPORT/STATISTICS/MARKER Processing object type SCHEMA_EXPORT/USER Processing object type SCHEMA_EXPORT/ROLE_GRANT Processing object type SCHEMA_EXPORT/DEFAULT_ROLE Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT . . exported "<Schema Name>"."<Table Name>" 228.9 MB 496397 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded ****************************************************************************** Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is: E:\DMSDUMP\EXPORT_DMS_DATA.DMP Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at *** *** ** **:**:** **** elapsed 0 00:01:57
DBA
작업설명필요한 기술

덤프 파일을 대상 인스턴스로 전송합니다.

DBMS_FILE_TRANSFER 유틸리티를 사용하여 파일을 전송하려면 소스 데이터베이스에서 Amazon RDS for Oracle 인스턴스로 데이터베이스 링크를 생성해야 합니다. 이 링크가 설정되면 유틸리티를 사용하여 데이터 펌프 파일을 Amazon RDS 인스턴스로 직접 전송할 수 있습니다.

또는, 데이터 펌프 파일을 Amazon Simple Storage Service(Amazon S3) 로 전송한 다음 이 파일을 Amazon RDS for Oracle 인스턴스로 가져올 수 있습니다. 이 옵션에 대한 자세한 내용은 추가 정보 섹션을 참고하십시오.

대상 DB 인스턴스의 Amazon RDS 마스터 사용자에게 연결하는 데이터베이스 링크 ORARDSDB를 생성하려면 원본 데이터베이스에서 다음 명령을 실행하세요.

sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 on *** *** ** **:**:** **** Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 Version 19.3.0.0.0 SQL> create database link orardsdb connect to admin identified by "******" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.******.us-east-1.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))'; Database link created. SQL>
DBA

데이터베이스 링크를 테스트합니다.

sqlplus를 사용하여 Amazon RDS for Oracle용 대상 데이터베이스에 연결할 수 있는지 확인할 수 있도록 데이터베이스 링크를 테스트합니다.

SQL> select name from v$database@orardsdb; NAME --------- ORCL
DBA

덤프 파일을 대상 데이터베이스로 전송합니다.

덤프 파일을 Amazon RDS for Oracle 데이터베이스에 복사하기 위해 DATA_PUMP_DIR 기본 디렉터리를 사용하거나 대상 Amazon RDS 인스턴스에서 실행해야 하는 다음과 같은 코드를 사용하여 나만의 디렉터리를 생성할 수 있습니다.

exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'DMS_TARGET_PUMP_DIR'); PL/SQL procedure successfully completed.

다음 스크립트는 orardsdb라는 데이터베이스 링크를 사용하여 소스 인스턴스에 있는 EXPORT_DMS_DATA.DMP라는 덤프 파일을 대상 Amazon RDS for Oracle 데이터베이스로 복사합니다. 소스 데이터베이스 인스턴스에서 이 스크립트를 실행해야 합니다.

BEGIN DBMS_FILE_TRANSFER.PUT_FILE( source_directory_object => 'DMS_DATA_PUMP_DIR', source_file_name => 'EXPORT_DMS_DATA.DMP', destination_directory_object => 'DMS_TARGET_PUMP_DIR', destination_file_name => 'EXPORT_DMS_DATA.DMP', destination_database => 'orardsdb'); END; PL/SQL procedure successfully completed.
DBA

대상 데이터베이스에 있는 덤프 파일을 나열합니다.

PL/SQL 절차가 완료된 후 다음 코드를 사용하여 Amazon RDS for Oracle 데이터베이스에 데이터 덤프 파일을 나열할 수 있습니다.

select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DMS_TARGET_PUMP_DIR'));
DBA

대상 인스턴스에서 JDE 전용 사용자를 생성합니다.

대상 인스턴스에서 다음 명령을 사용하여 JD Edwards 프로필 및 역할을 생성합니다.

SQL> CREATE PROFILE "JDEPROFILE" LIMIT IDLE_TIME 15; Profile created. SQL> CREATE ROLE "JDE_ROLE"; Role created. SQL> CREATE ROLE "JDEADMIN"; CREATE ROLE "JDEUSER"; Role created. Role created.

역할에 필요한 권한 부여:

SQL> GRANT CREATE ANY SEQUENCE TO JDE_ROLE; GRANT DROP ANY SEQUENCE TO JDE_ROLE; GRANT CREATE ANY TRIGGER TO JDE_ROLE; GRANT DROP ANY TRIGGER TO JDE_ROLE;
DBA, JDE CNC

대상 인스턴스에 테이블스페이스를 생성합니다.

이 마이그레이션과 관련된 스키마에 대해 다음 명령을 사용하여 대상 인스턴스에 필요한 테이블스페이스를 생성합니다.

SQL> CREATE TABLESPACE <Tablespace Name for Tables>; Tablespace created. SQL> CREATE TABLESPACE <Tablespace Name for Indexes>; Tablespace created.
DBA, JDE CNC

대상 데이터베이스에서 가져오기를 시작합니다.

가져오기 프로세스를 시작하기 전에 데이터 덤프 파일을 사용하여 대상 Amazon RDS for Oracle 데이터베이스에 역할, 스키마 및 테이블스페이스를 설정합니다.

가져오기를 수행하려면 Amazon RDS 기본 사용자 계정으로 대상 데이터베이스에 액세스하고 tnsnames.ora 파일에서 Amazon RDS for Oracle 데이터베이스 tns-entry를 포함하는 연결 문자열 이름을 사용합니다. 필요한 경우 다른 테이블스페이스나 다른 스키마 이름으로 데이터 덤프 파일을 가져오는 재매핑 옵션을 포함할 수 있습니다.

가져오기를 시작하려면 다음 코드를 사용합니다.

impdp admin@orardsdb directory=DMS_TARGET_PUMP_DIR logfile=import.log dumpfile=EXPORT_DMS_DATA.DMP

가져오기에 성공하려면 가져오기 로그 파일에 오류가 있는지 확인하고 객체 수, 행 수, 잘못된 객체 등의 세부 정보를 검토하십시오. 잘못된 객체가 있는 경우 해당 객체를 다시 컴파일하십시오. 또한 소스 데이터베이스 객체와 대상 데이터베이스 객체를 비교하여 일치하는지 확인하십시오.

DBA
작업설명필요한 기술

템플릿을 다운로드합니다.

AWS CloudFormation DMS_Instance.yaml 템플릿을 다운로드하여 AWS DMS 복제 인스턴스와 해당 소스 및 대상 엔드포인트를 프로비저닝합니다.

클라우드 관리자, DBA

스택 생성을 시작합니다.

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/cloudformation 에서 AWS CloudFormation 콘솔을 엽니다.

  2. 스택 생성을 선택합니다.

  3. 템플릿 지정에서 템플릿 파일 업로드를 선택합니다.

  4. 파일 선택을 선택합니다.

  5. DMS_instance.yaml 파일을 선택합니다.

  6. 다음을 선택합니다.

클라우드 관리자, DBA

파라미터를 지정합니다.

  1. 스택 이름에 스택 이름을 입력합니다.

  2. AWS DMS 인스턴스 파라미터에 다음과 같은 매개변수를 입력합니다.

    • DMS InstanceType — 비즈니스 요구 사항에 따라 AWS DMS 복제 인스턴스에 필요한 인스턴스를 선택합니다.

    • DMS StorageSize — 마이그레이션 규모에 따라 AWS DMS 인스턴스의 스토리지 크기를 입력합니다.

  3. 소스 Oracle 데이터베이스 구성에는 다음과 같은 매개변수를 입력합니다.

    • SourceOracleEndpointID — 원본 Oracle 데이터베이스 서버 이름

    • SourceOracleDatabaseName- 해당하는 경우 소스 데이터베이스 서비스 이름 또는 세션 ID (SID)

    • SourceOracleUserName— 소스 데이터베이스 사용자 이름 (system기본값)

    • SourceOracleDbPassword — 소스 데이터베이스 사용자 이름의 비밀번호입니다.

    • SourceOracleDBPort — 소스 데이터베이스 포트입니다.

  4. Oracle 데이터베이스용 대상 RDS 구성에는 다음 파라미터를 입력합니다.

    • 대상 RDS OracleEndpoint ID — 대상 RDS 데이터베이스 엔드포인트

    • 대상 RDS OracleDatabaseName — 대상 RDS 데이터베이스 이름

    • 대상 RDS — 대상 RDS 사용자 이름 OracleUserName

    • TargetRDSOracleDBPassword – 대상 RDS 비밀번호

    • TargetOracleDBPort — 대상 RDS 데이터베이스 포트입니다.

  5. VPC, 서브넷 및 보안 그룹 구성의 경우 다음과 같은 매개변수를 입력합니다.

    • VPCID – 복제 인스턴스를 위한 VPC

    • VPC SecurityGroupId — 복제 인스턴스의 VPC 보안 그룹

    • DMSSubnet1 – 가용 영역 1을 위한 서브넷

    • DMSSubnet2 – 가용 영역 2를 위한 서브넷

  6. 다음을 선택합니다.

클라우드 관리자, DBA

스택을 생성합니다.

  1. 구성 스택 옵션 페이지에서 태그에 선택적 값을 입력합니다.

  2. 다음을 선택합니다.

  3. 검토 페이지에서 세부 정보를 확인한 다음, 제출을 선택합니다.

프로비저닝은 약 5~10분 내에 완료될 것입니다. AWS CloudFormation 스택 페이지에 CREATE_COMPLETE가 표시되면 작업이 완료됩니다.

클라우드 관리자, DBA

엔드포인트를 설정합니다.

  1. https://console.aws.amazon.com/dms/v2/에서 AWS DMS 콘솔을 엽니다.

  2. 리소스 관리의 경우 복제 인스턴스를 선택한 다음 복제 인스턴스를 검토하십시오.

  3. 리소스 관리의 경우 엔드포인트를 선택한 다음 엔드포인트를 검토하십시오.

클라우드 관리자, DBA

연결을 테스트합니다.

소스 및 대상 엔드포인트의 상태가 활성으로 표시되면 연결을 테스트합니다. 각 엔드포인트(소스 및 대상)에 대해 테스트 실행을 선택하여 상태가 성공으로 표시되는지 확인합니다.

클라우드 관리자, DBA
작업설명필요한 기술

복제 작업을 생성합니다.

다음 단계를 사용하여 AWS DMS 복제 작업을 생성합니다.

  1. https://console.aws.amazon.com/dms/v2/에서 AWS DMS 콘솔을 엽니다.

  2. 탐색 창의 데이터 마이그레이션 아래에서 데이터베이스 마이그레이션 작업을 선택합니다.

  3. 작업 구성 항목의 작업 식별자에 작업 식별자를 입력합니다.

  4. 복제 인스턴스에 대해 생성한 DMS 복제 인스턴스를 선택합니다.

  5. 소스 데이터베이스 엔드포인트에는 소스 엔드포인트를 선택합니다.

  6. 대상 데이터베이스 엔드포인트에는 대상 Amazon RDS for Oracle 데이터베이스를 선택합니다.

  7. 마이그레이션 유형에는 데이터 변경 내용만 복제를 선택합니다. 추가 로깅을 켜야 한다는 메시지가 표시되면 문제 해결 섹션의 지침을 따르십시오.

  8. 작업 설정 항목에서 로그 시퀀스 번호 지정을 선택합니다.

  9. 시스템 변경 번호에는 소스 Oracle 데이터베이스에서 생성한 Oracle 데이터베이스 SCN을 입력합니다.

  10. 검증 활성화를 선택합니다.

  11. [로그 활성화] 를 선택합니다. CloudWatch

    이 기능을 활성화하면 데이터와 Amazon CloudWatch 로그를 검증하여 AWS DMS 복제 인스턴스 로그를 검토할 수 있습니다.

  12. 선택 규칙에서 다음 사항을 완료하십시오.

    • 스키마에 대해 스키마 입력을 선택합니다.

    • 스키마 이름에는 JDE 스키마 이름(예: DV920)을 입력합니다.

    • 테이블 이름%를 입력합니다.

    • 작업포함을 선택합니다.

  13. 작업 생성을 선택합니다.

작업을 생성하면 AWS DMS가 CDC 시작 모드에서 사용자가 제공한 SCN에서 Amazon RDS for Oracle 데이터베이스 인스턴스로 진행 중인 변경 사항을 마이그레이션합니다. 로그를 검토하여 마이그레이션을 확인할 수도 있습니다. CloudWatch

클라우드 관리자, DBA

복제 작업을 반복합니다.

이전 단계를 반복하여 마이그레이션의 일부인 다른 JD Edwards 스키마에 대한 복제 작업을 생성합니다.

클라우드 관리자, DBA, JDE CNC 관리자
작업설명필요한 기술

데이터 전송을 검증합니다.

AWS DMS 작업이 시작된 후 작업 페이지의 테이블 통계 탭을 확인하여 데이터에 대한 변경 사항을 확인할 수 있습니다.

콘솔의 데이터베이스 마이그레이션 작업 페이지에서 진행 중인 복제 상태를 모니터링할 수 있습니다.

자세한 내용은 AWS DMS 데이터 유효성 검사를 참조하세요.

클라우드 관리자, DBA
작업설명필요한 기술

복제를 중지합니다.

복제 절차를 중단하고 소스 애플리케이션 서비스를 중지합니다.

클라우드 관리자, DBA

JD Edwards 애플리케이션을 실행합니다.

AWS에서 대상 JD Edwards 프레젠테이션 및 로직 티어 애플리케이션을 시작하고 Amazon RDS for Oracle 데이터베이스로 전송합니다.

애플리케이션에 액세스하면 이제 모든 연결이 Amazon RDS for Oracle 데이터베이스와 설정되었음을 알 수 있습니다.

DBA, JDE CNC 관리자

소스 데이터베이스를 끕니다.

더 이상 연결되어 있지 않은지 확인한 후 소스 데이터베이스를 끌 수 있습니다.

DBA

문제 해결

문제Solution

진행 중인 복제를 위해 소스 데이터베이스에서 보충 로깅을 활성화하라는 경고 메시지가 나타납니다.

보충 로깅을 활성화하려면 다음 명령을 입력합니다.

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

AWS DMS는 보충 로깅을 해제했습니다.

보충 로깅은 AWS DMS에서 기본적으로 꺼져 있습니다. 소스 Oracle 엔드포인트에서 이를 활성화하려면,

  1. AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/dms/v2/ 에서 AWS DMS 콘솔을 엽니다.

  2. 엔드포인트를 선택합니다.

  3. 보충 로깅을 추가할 Oracle 원본 엔드포인트를 선택합니다.

  4. 수정을 선택합니다.

  5. 고급을 선택하고 나서 추가 연결 속성 텍스트 상자에 다음 코드를 추가합니다.

    addSupplementalLogging=Y
  6. 수정을 선택합니다.

CDB 수준에서는 보충 로깅이 활성화되지 않습니다.

  1. 이 명령을 입력합니다.

    SQL> alter session set container = CDB$ROOT; Session altered.
  2. 보충 로깅을 활성화하는 단계를 반복합니다.

“테스트 엔드포인트 실패: 애플리케이션 상태: 1020912, 애플리케이션 메시지: Oracle PDB 환경에서 지원되지 않음 엔드포인트 초기화 실패”라는 오류 메시지가 표시됩니다. LogMiner

이 오류 메시지가 나타나는 경우 대신 바이너리 리더를 사용할 수 있습니다. LogMiner

엔드포인트 설정에서 소스 데이터베이스의 추가 연결 속성에 다음 줄을 추가합니다.

useLogMinerReader=N;useBfile=Y;

관련 리소스

추가 정보

Amazon S3를 사용하여 파일 전송하기

Amazon S3에 파일을 전송하려면 AWS CLI 또는 Amazon S3 콘솔을 사용하면 됩니다. Amazon S3로 파일을 전송한 후, Amazon RDS for Oracle 인스턴스를 사용하여 Amazon S3에서 데이터 펌프 파일을 가져올 수 있습니다.

Amazon S3 통합을 대체 방법으로 사용하여 덤프 파일을 전송하기로 선택한 경우 다음 단계를 수행합니다.

  1. S3 버킷을 생성합니다.

  2. Oracle Data Pump를 사용하여 원본 데이터베이스에서 데이터를 내보냅니다.

  3. S3 버킷에 Data Pump 파일을 업로드합니다.

  4. S3 버킷에서 대상 Amazon RDS for Oracle 데이터베이스로 데이터 펌프 파일을 다운로드합니다.

  5. 데이터 펌프 파일을 사용하여 가져오기를 수행합니다.

참고: S3와 RDS 인스턴스 간에 대용량 데이터 파일을 전송하려면 Amazon S3 Transfer Acceleration 기능을 사용하는 것을 권장합니다.