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

적용 대상:SQL Server

이 가이드에서는 Oracle용 SSMA(SQL Server Migration Assistant)를 사용하여 Oracle 데이터베이스를 SQL Server로 마이그레이션하는 방법을 학습합니다.

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

중요

새로운 Oracle용 Azure Data Studio의 Oracle 확장용 데이터베이스 마이그레이션 평가를 SQL 사전 평가 및 워크로드 분류로 사용해 보세요. Oracle에서 SQL로 마이그레이션하는 초기 단계에 있고 Oracle 워크로드에 대한 Azure SQL 대상 크기 조정에 관심이 있거나 기능 마이그레이션 패리티를 이해하는 데 관심이 있는 높은 수준의 워크로드 평가를 수행해야 하는 경우 새 확장을 사용해 보세요. 자세한 코드 평가 및 변환을 위해 Oracle용 SSMA를 계속 진행합니다.

필수 조건

Oracle 데이터베이스를 SQL Server로 마이그레이션하기 전에 다음 단계를 수행합니다.

사전 마이그레이션

클라우드로 마이그레이션을 준비할 때, 원본 환경이 지원되고 다른 사전 조건을 모두 충족하는지 확인합니다. 그러면 효율적이고 성공적인 마이그레이션에 도움이 됩니다.

프로세스의 이 부분에서는 마이그레이션해야 하는 데이터베이스에 대한 인벤토리를 수행하고, 해당 데이터베이스에 잠재적인 마이그레이션 문제나 방해 요소가 있는지 평가한 다음, 발견했을 수 있는 모든 항목을 확인합니다.

검색

마이그레이션을 보다 잘 이해하고 계획할 수 있도록 MAP(Microsoft Assessment and Planning) Toolkit을 사용하여 기존 데이터 원본 및 조직에서 사용하는 기능에 관한 세부 정보를 식별합니다. 이 프로세스에서는 네트워크를 검색하여 조직의 Oracle 인스턴스, 버전 및 기능을 파악합니다.

MAP 도구 키트를 사용하여 인벤토리를 검색하려면 다음 단계를 수행합니다.

  1. MAP 도구 키트를 엽니다.

  2. 개요 창에서 데이터베이스 만들기/선택을 선택합니다.

    Screenshot of the 'Create/Select database' link on the MAP Toolkit Overview pane.

  3. 데이터베이스 만들기 또는 선택에서 인벤토리 데이터베이스 만들기를 선택하고, 인벤토리 데이터베이스 이름을 입력하고, 간단한 설명을 입력한 다음 확인을 선택합니다.

    Screenshot of the 'Create an inventory database' option in the MAPS Toolkit.

  4. 인벤토리 데이터 수집을 선택하여 Inventory and Assessment Wizard(인벤토리 및 평가 마법사)를 엽니다.

    Screenshot of the 'Collect inventory data' link in the Inventory and Assessment Wizard.

  5. 마법사에서 Oracle을 선택하고, 다음을 선택합니다.

    Screenshot of the Oracle option and Next button in the Inventory and Assessment Wizard.

  6. 조직의 요구 사항 및 환경에 가장 적합한 컴퓨터 검색 옵션을 선택하고 다음을 선택합니다.

    Screenshot of the list of computer-discovery methods that best suit your organization's needs.

  7. 검색하려는 시스템에 대해 현재 자격 증명을 입력하거나 새 자격 증명을 만들고 다음을 선택합니다.

    Screenshot of the wizard pane for entering your computer credentials.

  8. 자격 증명의 순서를 설정하고 다음을 선택합니다.

    Screenshot of the wizard pane for setting the order of credentials.

  9. 검색하려는 각 컴퓨터에 대해 자격 증명을 지정합니다. 모든 컴퓨터 또는 머신에 대해 고유한 자격 증명을 사용하거나 컴퓨터 목록에서 선택할 수 있습니다.

    Screenshot of the 'Use all computers credential list' option for specifying the credentials for each computer you want to discover.

  10. 선택 요약을 확인하고 마침을 선택합니다.

    Screenshot of the wizard summary page for reviewing your selections.

  11. 검색이 완료되면 데이터 컬렉션 요약 보고서를 확인합니다. 검색은 몇 분 정도 걸릴 수 있으며, 데이터베이스 수에 따라 달라집니다. 작업이 완료되면 닫기를 선택합니다.

    Screenshot of the Data Collection summary report page.

  12. Oracle 평가 및 데이터베이스 세부 정보에 대한 보고서를 생성하려면 옵션을 선택합니다. 두 옵션을 모두(한 번에 하나씩) 선택하여 보고서를 생성합니다.

평가

데이터 원본을 식별한 후에는 Oracle용 SSMA를 사용하여 둘 사이의 차이를 이해할 수 있도록 SQL Server 가상 머신으로 마이그레이션할 Oracle 인스턴스를 평가합니다. 마이그레이션 길잡이를 사용하여 데이터베이스 개체 및 데이터를 검토하고, 마이그레이션할 데이터베이스를 평가하고, 데이터베이스 개체를 SQL Server로 마이그레이션한 다음, 데이터를 SQL Server로 마이그레이션할 수 있습니다.

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

  1. Oracle용 SSMA를 엽니다.

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

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

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Oracle에 연결을 선택하고, Oracle 연결 세부 정보를 입력한 다음 연결을 선택합니다.

    Screenshot of the Connect to Oracle pane.

  5. 개체 필터링 창에서 마이그레이션할 Oracle 스키마를 선택하고, 확인을 선택합니다.

    Screenshot of the 'Filter objects' pane for selecting the schemas to load.

  6. Oracle 메타데이터 탐색기 창에서 작업할 Oracle 스키마를 선택한 다음, 보고서 만들기를 선택하여 변환 통계 및 오류 또는 경고(있는 경우)가 포함된 HTML 보고서를 생성합니다. 또는 오른쪽 상단에서 보고서 만들기 탭을 선택할 수 있습니다.

    Screenshot of the 'Create Report' links in Oracle Metadata Explorer.

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

    drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot of a conversion report in SSMA.

데이터 형식의 유효성 검사

기본 데이터 형식 매핑의 유효성을 검사하고 필요한 경우 요구 사항에 따라 해당 매핑을 변경합니다. 이를 수행하려면:

  1. 도구를 선택하고, 프로젝트 설정을 선택합니다.

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

    Screenshot of the 'Type Mapping' pane in SSMA for Oracle.

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

스키마 변환

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

  1. (선택 사항) 동적 쿼리나 특수화된 쿼리를 변환하려면 노드를 마우스 오른쪽 단추로 클릭하고 문 추가를 선택합니다.

  2. SQL Server에 연결 탭을 선택한 다음 SQL Server 인스턴스에 대한 연결 세부 정보를 입력합니다.

    1. 데이터베이스 드롭다운 목록에서 대상 데이터베이스를 선택하거나 새 이름을 입력하여 대상 서버에 데이터베이스를 만듭니다.

    2. 인증 세부 정보를 제공합니다.

    3. 연결을 선택합니다.

      Screenshot of the Connect to SQL Server pane in SSMA for Oracle.

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

    Screenshot of the 'Convert Schema' command on the 'Oracle Metadata Explorer' pane.

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

    Screenshot showing a comparison of the converted objects to the original objects.

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

    Screenshot showing a comparison of the converted text to the original code.

  5. 출력 창에서 결과 검토 아이콘을 선택한 다음 오류 목록 창에서 오류를 검토합니다.

  6. 오프라인 스키마 수정 연습을 위해 파일>프로젝트 저장을 선택하여 프로젝트를 로컬에 저장합니다. 이렇게 하면 스키마를 SQL Server 인스턴스에 게시하기 전에 원본 및 대상 스키마를 오프라인으로 평가하고 수정할 수 있습니다.

데이터베이스 마이그레이션

사전 조건을 충족하고 마이그레이션 전 단계와 관련된 작업을 완료했으면 스키마 및 데이터베이스 마이그레이션을 수행할 준비가 된 것입니다. 마이그레이션에는 스키마 게시 및 데이터베이스 마이그레이션의 두 단계가 포함됩니다.

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

  1. 스키마를 게시합니다. SQL Server 메타데이터 탐색기 창에서 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 데이터베이스와 동기화를 선택합니다. 이 작업을 수행하면 Oracle 스키마가 SQL Server 인스턴스에 게시됩니다.

    Screenshot of the 'Synchronize with Database' command on the SQL Server Metadata Explorer pane.

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

    Screenshot of the 'Synchronize with the Database' pane for reviewing database mapping.

  3. 데이터를 마이그레이션합니다. Oracle 메타데이터 탐색기 창에서 마이그레이션할 스키마 또는 개체를 마우스 오른쪽 단추로 클릭하고 데이터 마이그레이션을 선택합니다. 또는 오른쪽 상단에서 데이터 마이그레이션 탭을 선택할 수 있습니다.

    전체 데이터베이스의 데이터를 마이그레이션하려면 데이터베이스 이름 옆의 확인란을 선택합니다. 개별 테이블에서 데이터를 마이그레이션하려면 데이터베이스를 확장하고 테이블을 확장한 다음, 테이블 옆의 확인란을 선택합니다. 개별 테이블에서 데이터를 생략하려면 확인란의 선택을 취소합니다.

    Screenshot of the Migrate Data links.

  4. 데이터 마이그레이션 창에서 Oracle 및 SQL Server 모두에 대한 연결 세부 정보를 입력합니다.

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

    Screenshot of the Data Migration Report.

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

    Screenshot of SQL Server Management Server. SSMA 외에도 SSIS(SQL Server Integration Services)를 사용하여 데이터를 마이그레이션할 수 있습니다. 자세한 내용은 다음을 참조하세요.

마이그레이션 후 작업

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

애플리케이션 수정

대상 환경으로 데이터를 마이그레이션한 후에는 이전에 원본을 사용한 모든 애플리케이션이 대상 사용을 시작해야 합니다. 이 단계를 수행하려면 애플리케이션을 변경해야 할 수도 있습니다.

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

테스트 수행

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

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

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

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

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

최적화

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

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

마이그레이션 자산

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

제목 Description
데이터 워크로드 평가 모델 및 도구 특정 워크로드에 권장되는 ‘최적의’ 대상 플랫폼, 클라우드 준비 상태 및 애플리케이션/데이터베이스 수정 수준을 제공합니다. 또한 자동화되고 균일한 대상 플랫폼 결정 프로세스를 제공하여 대규모 자산 평가를 가속화하는 데 도움이 되는 간단한 원클릭 계산 및 보고서 생성 기능을 제공합니다.
Oracle 인벤토리 스크립트 아티팩트 Oracle 시스템 테이블에 적용되고 스키마 유형, 개체 유형 및 상태별로 개체 수를 제공하는 PL/SQL 쿼리가 포함됩니다. 또한 각 스키마의 대략적인 ‘원시 데이터’ 예측 및 각 스키마의 테이블 크기 조정을 CSV 형식으로 저장된 결과와 함께 제공합니다.
SSMA Oracle 평가 컬렉션 및 통합 자동화 .csv 파일(프로젝트 폴더의 sources.csv)을 항목으로 사용하여 콘솔 모드에서 SSMA 평가를 실행하는 데 필요한 xml 파일을 생성하는 리소스 집합입니다. source.csv 파일은 기존 Oracle 인스턴스의 인벤토리를 기반으로 고객이 제공합니다. 출력 파일은 AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml 및 VariableValueFile.xml입니다.
Oracle 데이터베이스 마이그레이션 시 SSMA 문제와 가능한 해결 방법 Oracle을 사용하여 WHERE 절에서 스칼라가 아닌 조건을 할당할 수 있는 방법을 논의합니다. 그러나 SQL Server는 이런 유형의 조건을 지원하지 않습니다. 따라서 Oracle용 SSMA는 WHERE 절에 스칼라가 아닌 조건이 있는 쿼리를 변환하지 않고 대신 오류 O2SS0001을 생성합니다. 이 백서에서는 이 문제에 대한 자세한 정보와 해결 방법을 제공합니다.
Oracle에서 SQL Server로 마이그레이션 안내서 Oracle 스키마를 최신 버전의 SQL Server 기반으로 마이그레이션하는 것과 관련된 작업을 집중적으로 설명합니다. 마이그레이션에서 기능을 변경해야 하는 경우 각 변경 작업이 데이터베이스를 사용하는 애플리케이션에 미칠 수 있는 영향을 신중하게 고려해야 합니다.
Oracle-SQL Server - 데이터베이스 비교 유틸리티 Oracle 테스터용 SSMA는 데이터베이스 개체 변환 및 데이터 마이그레이션의 유효성을 자동으로 검사하는 권장 도구이며 데이터베이스 비교 기능의 상위 집합입니다.

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

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