다음을 통해 공유


마이그레이션 가이드: Oracle에서 Azure SQL Database로

적용 대상:Azure SQL Database

이 가이드에서는 Oracle용 SSMA(SQL Server Migration Assistant)를 사용하여 Oracle 스키마 Azure SQL Database로 마이그레이션하는 설명합니다.

다른 마이그레이션 가이드는 Azure 데이터베이스 마이그레이션 가이드를 참조하세요.

자세한 코드 평가 및 변환을 위해 Oracle용 SSMA를 계속 진행합니다.

필수 조건

Oracle 스키마를 SQL Database로 마이그레이션하기 전에 다음을 수행해야 합니다.

사전 마이그레이션

필수 구성 요소를 충족하면, 환경의 토폴로지를 발견하고, Azure 클라우드 마이그레이션의 타당성을 평가할 준비가 됩니다. 프로세스의 이 부분에서는 마이그레이션해야 하는 데이터베이스에 대한 인벤토리를 수행하고, 해당 데이터베이스에 잠재적인 마이그레이션 문제나 방해 요소가 있는지 평가한 다음, 발견했을 수 있는 모든 항목을 확인합니다.

평가

Oracle용 SSMA를 사용하여 데이터베이스 개체 및 데이터를 검토하고, 마이그레이션할 데이터베이스를 평가하고, 데이터베이스 개체를 SQL Database로 마이그레이션한 다음, 마지막으로 데이터를 데이터베이스로 마이그레이션할 수 있습니다.

평가를 만들려면 다음을 수행합니다.

  1. Oracle용 SSMA를 엽니다.

  2. 파일을 선택하고 새 프로젝트를 선택합니다.

  3. 프로젝트 이름과 프로젝트를 저장할 위치를 입력합니다. 드롭다운 목록에서 Azure SQL Database를 마이그레이션 대상으로 선택한 다음 확인을 선택합니다.

    Oracle에 연결을 보여 주는 스크린샷

  4. Oracle에 연결을 선택합니다. Oracle에 연결 대화 상자에 Oracle 연결 세부 정보에 대한 값을 입력합니다.

  5. 마이그레이션하려는 Oracle 스키마를 선택합니다.

    Oracle 스키마 선택을 보여 주는 스크린샷

  6. Oracle 메타데이터 탐색기에서 마이그레이션할 Oracle 스키마를 마우스 오른쪽 단추로 클릭한 다음, 보고서 만들기를 선택하여 HTML 보고서를 생성합니다. 대신 데이터베이스를 선택한 다음, 보고서 만들기 탭을 선택할 수 있습니다.

    보고서 만들기를 보여 주는 스크린샷

  7. HTML 보고서를 검토하여 변환 통계와 오류 또는 경고를 파악합니다. Excel에서 보고서를 열어 Oracle 개체의 인벤토리와 스키마 변환을 수행하는 데 필요한 작업을 가져올 수도 있습니다. 보고서의 기본 위치는 SSMAProjects 내의 보고서 폴더에 있습니다.

    예를 들어 drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2020_11_12T02_47_55\를 참조하세요.

    평가 보고서를 보여 주는 스크린샷

데이터 형식의 유효성 검사

기본 데이터 형식 매핑의 유효성을 검사하고 필요한 경우 요구 사항에 따라 해당 매핑을 변경합니다. 이렇게 하려면 다음 단계를 따르십시오.

  1. Oracle용 SSMA의 경우 도구를 선택한 다음, 프로젝트 설정을 선택합니다.

  2. 형식 매핑 탭을 선택합니다.

    형식 매핑을 보여주는 스크린샷

  3. Oracle 메타데이터 탐색기에서 테이블을 선택하여 각 테이블의 형식 매핑을 변경할 수 있습니다.

스키마 변환

스키마를 변환하려면 다음을 수행합니다.

  1. (선택 사항) 문에 동적 또는 임시 쿼리를 추가합니다. 노드를 마우스 오른쪽 단추로 클릭한 다음, 문 추가를 선택합니다.

  2. Azure SQL Database에 연결 탭을 선택합니다.

    1. SQL Database에서 연결 정보를 입력하여 데이터베이스를 연결합니다.

    2. 드롭다운 목록에서 대상 SQL Database 인스턴스를 선택하거나 새 이름을 입력합니다. 이 경우 대상 서버에 데이터베이스가 만들어집니다.

    3. 인증 세부 정보를 입력하고 연결을 선택합니다.

    Azure SQL Database에 연결을 보여 주는 스크린샷

  3. Oracle 메타데이터 탐색기에서 Oracle 스키마를 마우스 오른쪽 단추로 클릭한 다음, 스키마 변환을 선택합니다. 또는 스키마를 선택한 다음, 스키마 변환 탭을 선택할 수 있습니다.

    스키마 변환을 보여 주는 스크린샷

  4. 변환이 완료되면 변환된 개체와 원본 개체를 검토하고 비교하여 잠재적인 문제를 파악하고 권장 사항에 따라 해결합니다.

    권장 사항 검토 스키마를 보여주는 스크린샷

  5. 변환된 Transact-SQL 텍스트와 원래 저장 프로시저를 비교하고 권장 사항을 검토합니다.

    검토 권장 사항을 보여 주는 스크린샷

  6. 출력 창에서 결과 검토를 선택하고 오류 목록 창에서 오류를 검토합니다.

  7. 오프라인 스키마 수정 연습을 위해 프로젝트를 로컬로 저장합니다. 파일 메뉴에서 프로젝트 저장을 선택합니다. 이 단계를 통해 스키마를 SQL Database에 게시하기 전에 원본과 대상 스키마를 오프라인으로 평가하고 원하는 부분을 수정할 수 있습니다.

마이그레이션

데이터베이스를 평가하고 불일치를 해결한 후 다음 단계는 마이그레이션 프로세스를 실행하는 것입니다. 마이그레이션에는 스키마 게시 및 데이터 마이그레이션의 두 단계가 포함됩니다.

스키마를 게시하고 데이터를 마이그레이션하려면 다음을 수행합니다.

  1. Azure SQL Database 메타데이터 탐색기데이터베이스 노드에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 데이터베이스와 동기화를 선택하여 스키마를 게시합니다.

    데이터베이스와 동기화를 보여 주는 스크린샷

  2. 원본 프로젝트와 대상 간의 매핑을 검토합니다.

    데이터베이스 검토와 동기화를 보여 주는 스크린샷

  3. Oracle 메타데이터 탐색기에서 마이그레이션할 데이터베이스나 개체를 마우스 오른쪽 단추로 클릭하고 데이터 마이그레이션을 선택하여 데이터를 마이그레이션합니다. 또는 데이터 마이그레이션 탭을 선택할 수 있습니다. 전체 데이터베이스에 대한 데이터를 마이그레이션하려면 데이터베이스 이름 옆의 확인란을 선택합니다. 개별 테이블에서 데이터를 마이그레이션하려면 데이터베이스를 확장하고 테이블을 확장한 다음, 테이블 옆에 있는 확인란을 선택합니다. 개별 테이블에서 데이터를 생략하려면 확인란을 선택 취소합니다.

    데이터 마이그레이션을 보여 주는 스크린샷

  4. Oracle 및 SQL Database에 대한 연결 세부 정보를 입력합니다.

  5. 마이그레이션이 완료되면 데이터 마이그레이션 보고서를 확인합니다.

    데이터 마이그레이션 보고서를 보여 주는 스크린샷

  6. SQL Server Management Studio(SSMS)를 다운로드한 후SQL Database 인스턴스에 연결하고, 데이터 및 스키마를 검토한 후 마이그레이션의 유효성을 검사합니다.

    SQL Server Management Studio의 유효성 검사를 보여 주는 스크린샷

또는 SQL Server Integration Services를 사용하여 마이그레이션을 수행할 수도 있습니다. 자세한 내용은 다음을 참조하세요.

마이그레이션 후 작업

마이그레이션 단계를 성공적으로 완료한 후에는 모든 작업이 최대한 원활하고 효율적으로 작동하도록 일련의 마이그레이션 후 작업을 완료해야 합니다.

애플리케이션 수정

데이터가 대상 환경으로 마이그레이션된 후 이전에 원본을 사용한 모든 애플리케이션이 대상 사용을 시작해야 합니다. 이 작업을 수행하려면 경우에 따라 애플리케이션을 변경해야 합니다.

Data Access Migration Toolkit은 Visual Studio Code의 확장으로, Java 소스 코드를 분석하고 데이터 액세스 API 호출 및 쿼리를 검색할 수 있습니다. 이 도구 키트에서는 새 데이터베이스 백 엔드를 지원하기 위해 처리해야 하는 항목의 단일 창 보기를 제공합니다. 자세히 알아보려면 Oracle에서 Java 애플리케이션 마이그레이션 블로그 게시물을 참조하세요.

테스트 수행

데이터베이스 마이그레이션의 테스트 접근 방식은 다음 작업으로 구성됩니다.

  1. 유효성 검사 테스트 개발: 데이터베이스 마이그레이션을 테스트하려면 SQL 쿼리를 사용해야 합니다. 원본 데이터베이스와 대상 데이터베이스 둘 다에서 실행할 유효성 검사 쿼리를 만들어야 합니다. 유효성 검사 쿼리는 정의한 범위를 포함해야 합니다.

  2. 테스트 환경 설정: 테스트 환경에는 원본 데이터베이스와 대상 데이터베이스의 복사본이 포함되어야 합니다. 테스트 환경을 격리해야 합니다.

  3. 유효성 검사 테스트 실행: 원본 및 대상에서 유효성 검사 테스트를 실행한 다음, 결과를 분석합니다.

  4. 성능 테스트 실행: 원본 및 대상에서 성능 테스트를 실행한 다음, 결과를 분석하고 비교합니다.

마이그레이션된 개체의 유효성 검사

SSMA 테스터(Oracle 테스터용 Microsoft SQL Server Migration Assistant)를 사용하면 마이그레이션된 데이터베이스 개체를 테스트할 수 있습니다. SSMA 테스터는 변환된 개체가 같은 방식으로 작동하는지 확인하는 데 사용됩니다.

테스트 사례 만들기

  1. Oracle용 SSMA에서 테스터>새 테스트 케이스탐색합니다.

    새 테스트 사례를 만드는 방법을 보여 주는 스크린샷

  2. 새 테스트 사례에 대해 다음 정보를 제공합니다.

    이름: 테스트 사례를 식별하는 이름을 입력합니다.

    생성 날짜: 자동으로 정의된 현재 오늘 날짜입니다.

    마지막으로 수정한 날짜: 이 값은 자동으로 채워지며 변경해서는 안 됩니다.

    설명: 테스트 사례의 목적을 식별하기 위한 추가 정보를 입력합니다.

    테스트 사례를 초기화하는 단계를 보여 주는 스크린샷

  3. 왼쪽에 있는 Oracle 개체 트리에서 테스트 사례에 속하는 개체를 선택합니다.

    개체를 선택하고 구성하는 단계를 보여 주는 스크린샷

    이 예제에서는 저장 프로시저 ADD_REGION와 테이블 REGION이 선택됩니다.

    자세한 내용은 테스트할 개체 선택 및 구성 (OracleToSQL) 참조하세요.

  4. 그런 다음 왼쪽 창의 Oracle 개체 트리에서 테이블, 외래 키 및 기타 종속 개체를 선택합니다.

    영향을 받는 개체를 선택하고 구성하는 단계를 보여주는 스크린샷

    자세한 내용은 영향을 받는 개체 선택 및 구성 참조하세요(OracleToSQL)

  5. 개체의 평가 순서를 검토합니다. 표에서 단추를 선택하여 순서를 변경합니다.

    테스트 개체 실행 순서를 지정하는 단계를 보여 주는 스크린샷

  6. 이전 단계에서 제공한 정보를 검토하여 테스트 사례를 마무리합니다. 테스트 시나리오에 따라 테스트 실행 옵션을 구성합니다.

    개체를 완료하는 단계 스크린샷

    테스트 사례 설정에 대한 자세한 내용은테스트 사례 준비 완료(OracleToSQL)

  7. 완료를 선택하여 테스트 사례를 만듭니다.

    리포지토리를 테스트하는 단계를 보여주는 스크린샷

테스트 사례 실행

SSMA 테스터에서 테스트 사례를 실행하면 테스트 엔진은 테스트를 위해 선택한 개체를 실행하고 확인 보고서를 생성합니다.

  1. 테스트 리포지토리에서 테스트 사례를 선택한 다음 실행을 선택합니다.

    테스트 리포지토리를 검토하는 단계를 보여 주는 스크린샷

  2. 시작 테스트 사례를 검토하고 실행을 선택합니다.

    테스트 사례를 실행하는 단계를 보여 주는 스크린샷

  3. 다음으로, Oracle 원본 자격 증명을 제공합니다. 자격 증명을 입력한 후 연결을 선택합니다.

    oracle 원본에 연결하는 단계를 보여 주는 스크린샷

  4. 대상 SQL Server 자격 증명을 제공하고 연결을 선택합니다.

    SQL 대상에 연결하는 단계를 보여 주는 스크린샷

    성공하면 테스트 사례가 초기화 단계로 이동합니다.

  5. 실시간 진행률 표시줄에는 테스트 실행의 실행 상태가 표시됩니다.

    Tester 테스트 진행 상황을 보여 주는 스크린샷

  6. 테스트가 완료되면 보고서를 검토합니다. 이 보고서는 통계, 테스트 실행 중에 발생한 오류 및 상세 보고서를 제공합니다.

    샘플 테스터 테스트 보고서를 보여 주는 스크린샷

  7. 세부 정보를 선택하여 자세한 정보를 가져옵니다.

    긍정적인 데이터 유효성 검사 예제입니다.

    샘플 Tester 성공 보고서를 보여 주는 스크린샷

    실패한 데이터 유효성 검사 예제입니다.

    Tester 실패 보고서를 보여주는 스크린샷

최적화

마이그레이션 후 단계는 데이터 정확도 문제를 조정하고 완성도를 확인할 뿐만 아니라 워크로드 관련 성능 문제를 해결하는 데 매우 중요합니다.

해당 문제와 이 문제를 완화하는 구체적인 단계에 대한 자세한 내용은 마이그레이션 후 유효성 검사 및 최적화 가이드를 참조하세요.

마이그레이션 자산

이 마이그레이션 시나리오를 완료하는 방법에 대한 추가 지원은 다음 리소스를 참조하세요. 실제 마이그레이션 프로젝트 참여를 지원하기 위해 개발되었습니다.

  • Data Workload Assessment Model and Tool(데이터 워크로드 평가 모델 및 도구)

    이 도구는 지정된 워크로드에 권장되는 “최적의” 대상 플랫폼, 클라우드 준비 상태, 애플리케이션 또는 데이터베이스 수정 수준을 제공합니다. 자동화되고 균일한 대상 플랫폼 의사 결정 프로세스를 제공하여 대규모 자산 평가를 가속화하는 데 도움이 되는 간편한 계산 및 보고서 생성을 제공합니다.

  • Oracle 인벤토리 스크립트 아티팩트

    이 자산에는 Oracle 시스템 테이블에 적용되고 스키마 유형, 개체 유형 및 상태별로 개체 수를 제공하는 PL/SQL 쿼리가 포함됩니다. 또한 각 스키마의 대략적인 원시 데이터 예측 및 각 스키마의 테이블 크기 조정을 CSV 형식으로 저장된 결과와 함께 제공합니다.

  • SSMA Oracle 평가 컬렉션 및 통합 자동화

    이 리소스 집합은 .csv 파일을 항목(프로젝트 폴더의sources.csv)으로 사용하여 콘솔 모드에서 SSMA 평가를 실행하는 데 필요한 XML 파일을 생성합니다. source.csv는 기존 Oracle 인스턴스의 인벤토리를 기반으로 고객이 제공합니다. 출력 파일은 AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xmlVariableValueFile.xml.

  • Oracle-SQL DB - 데이터베이스 비교 유틸리티

    Oracle 테스터용 SSMA는 데이터베이스 개체 변환 및 데이터 마이그레이션의 유효성을 자동으로 검사하는 권장 도구이며 데이터베이스 비교 기능의 상위 집합입니다.

    대체 데이터 유효성 검사 옵션을 찾고 있는 경우, 모든 또는 선택한 테이블, 행, 및 열의 데이터를 행 또는 열 수준까지 비교할 수 있는 데이터베이스 비교 유틸리티를 사용할 수 있습니다.

데이터 SQL 엔지니어링 팀이 이러한 리소스를 개발했습니다. 이 팀의 핵심 선언은 Microsoft의 Azure 데이터 플랫폼으로의 데이터 플랫폼 마이그레이션 프로젝트에 대한 복잡한 현대화의 장애물을 제거하고 속도를 높이는 것입니다.