Oracle 스키마 (OracleToSQL) 변환Converting Oracle Schemas (OracleToSQL)

Oracle에 연결한 후에 연결 SQL ServerSQL Server, 프로젝트 설정 및 데이터 매핑 옵션에는 Oracle 데이터베이스 개체를 변환할 수 있습니다 및 SQL ServerSQL Server 데이터베이스 개체입니다.After you have connected to Oracle, connected to SQL ServerSQL Server, and set project and data mapping options, you can convert Oracle database objects to SQL ServerSQL Server database objects.

변환 프로세스The Conversion Process

Oracle에서 개체 정의 가져와 데이터베이스 개체를 변환, 유사로 변환 SQL ServerSQL Server 개체, 및 SSMA 메타 데이터를이 정보를 로드 합니다.Converting database objects takes the object definitions from Oracle, converts them to similar SQL ServerSQL Server objects, and then loads this information into the SSMA metadata. 인스턴스로 정보를 로드 하지 SQL ServerSQL Server합니다.It does not load the information into the instance of SQL ServerSQL Server. 사용 하 여 개체 및 해당 속성을 볼 다음는 SQL ServerSQL Server 메타 데이터 탐색기입니다.You can then view the objects and their properties by using the SQL ServerSQL Server Metadata Explorer.

SSMA는 변환 중 출력 창에 출력 메시지 및 오류 목록 창에 오류 메시지를 인쇄합니다.During the conversion, SSMA prints output messages to the Output pane and error messages to the Error List pane. 출력 및 오류 정보를 사용 하 여 Oracle 데이터베이스 또는 원하는 변환 결과를 얻으려면 변환 프로세스를 수정할 수 있는지 확인 합니다.Use the output and error information to determine whether you have to modify your Oracle databases or your conversion process to obtain the desired conversion results.

변환 옵션 설정Setting Conversion Options

개체를 변환 하기 전에 프로젝트 변환 옵션을 검토는 프로젝트 설정 대화 상자.Before converting objects, review the project conversion options in the Project Settings dialog box. 이 대화 상자를 사용 하 여 SSMA 함수 및 전역 변수를 변환 하는 방법을 설정할 수 있습니다.By using this dialog box, you can set how SSMA converts functions and global variables. 자세한 내용은 참조 프로젝트 설정 ( 변환 ) ( OracleToSQL ) .For more information, see Project Settings (Conversion) (OracleToSQL).

변환 결과Conversion Results

다음 표에 나와 있는 Oracle 개체 변환 되 고 그 결과 SQL ServerSQL Server 개체:The following table shows which Oracle objects are converted, and the resulting SQL ServerSQL Server objects:

Oracle 개체Oracle Objects 결과 SQL Server 개체Resulting SQL Server Objects
함수Functions 함수를 직접 변환할 수 있는 경우 Transact-SQLTransact-SQL, SSMA는 함수를 만듭니다.If the function can be directly converted to Transact-SQLTransact-SQL, SSMA creates a function.

경우에 따라 저장된 프로시저에 함수를 변환 합니다.In some cases, the function must be converted to a stored procedure. 이 경우 SSMA는 저장된 프로시저와 저장된 프로시저를 호출 하는 함수를 만듭니다.In this case, SSMA creates a stored procedure and a function that calls the stored procedure.
절차Procedures 프로시저를 직접 변환할 수 있는 경우 Transact-SQLTransact-SQL, SSMA 저장된 프로시저를 만듭니다.If the procedure can be directly converted to Transact-SQLTransact-SQL, SSMA creates a stored procedure.

경우에 따라 자치 트랜잭션을에서 저장된 프로시저를 호출 해야 합니다.In some cases a stored procedure must be called in an autonomous transaction. 이 경우 SSMA 두 개의 저장된 프로시저를 만듭니다: 저장 프로시저는 프로시저와 구현 하는 호출에 사용 되는 다른 저장 프로시저를 구현 합니다.In this case, SSMA creates two stored procedures: one that implements the procedure, and another that is used for calling the implementing stored procedure.
패키지Packages SSMA는 저장된 프로시저 및 비슷한 개체 이름으로 통합 하는 함수 집합을 만듭니다.SSMA creates a set of stored procedures and functions that are unified by similar object names.
시퀀스Sequences SSMA (SQL Server 2012 또는 SQL Server 2014) 시퀀스 개체를 만들거나 Oracle 시퀀스를 에뮬레이션 합니다.SSMA creates sequence objects (SQL Server 2012 or SQL Server 2014) or emulates Oracle sequences.
인덱스 및 트리거가 같은 종속 개체가 있는 테이블Tables with dependent objects such as indexes and triggers SSMA는 종속 개체와 테이블을 만듭니다.SSMA creates tables with dependent objects.
트리거 등의 종속 개체와 보기View with dependent objects, such as triggers SSMA는 종속 개체와 뷰를 만듭니다.SSMA creates views with dependent objects.
구체화 된 뷰Materialized Views SSMA는 몇 가지 예외가 SQL server에서 인덱싱된 뷰를 만듭니다. 구체화 된 뷰는 다음 구문 중 하나 이상 포함 하는 경우 변환이 실패 합니다.SSMA creates indexed views on SQL server with some exceptions. Conversion will fail if the materialized view includes one or more of the following constructs:

사용자 정의 함수User-defined function

명확 하지 않은 필드 / 함수 / 식은 SELECT, 위치 또는 GROUP BY 절Non deterministic field / function / expression in SELECT, WHERE or GROUP BY clauses

Float 열에 SELECT 의 사용 위치 또는 GROUP BY 절 (이전 문제의 특수 한 경우)Usage of Float column in SELECT, WHERE or GROUP BY clauses (special case of previous issue)

사용자 지정 데이터 형식 (중첩 시 테이블)Custom data type (incl. nested tables)

COUNT (distinct <필드>)COUNT(distinct <field>)

FETCHFETCH

OUTER 조인(LEFT, RIGHT 또는 FULL)OUTER joins (LEFT, RIGHT, or FULL)

하위 쿼리, 보기Subquery, other view

과다, RANK, 잠재 고객, 로그OVER, RANK, LEAD, LOG

MIN, MAXMIN, MAX

UNION, 빼기, 교차UNION, MINUS, INTERSECT

HAVINGHAVING
트리거Trigger SSMA는 다음 규칙에 따라 트리거를 만듭니다.SSMA creates triggers based on the following rules:

전에 트리거는 INSTEAD of 트리거도 변환 됩니다.BEFORE triggers are converted to INSTEAD OF triggers.

다음 트리거는 AFTER 트리거도 변환 됩니다.AFTER triggers are converted to AFTER triggers.

INSTEAD OF 트리거는 INSTEAD of 트리거도 변환 됩니다.INSTEAD OF triggers are converted to INSTEAD OF triggers. 동일한 작업에 정의 된 여러 INSTEAD OF 트리거는 트리거를 하나에 결합 됩니다.Multiple INSTEAD OF triggers defined on the same operation are combined into one trigger.

행 수준 트리거가 커서를 사용 하 여 에뮬레이션 합니다.Row-level triggers are emulated using cursors.

연계 트리거는 여러 개의 개별 트리거도 변환 됩니다.Cascading triggers are converted into multiple individual triggers.
동의어Synonyms 동의어는 다음 개체 유형에 대해 생성 됩니다.Synonyms are created for the following object types:

테이블 및 개체 테이블Tables and object tables

뷰 및 개체 보기Views and object views

저장 프로시저Stored procedures

함수Functions

다음 개체에 대 한 동의어 해결 되 고 직접 개체 참조로 대체 합니다.Synonyms for the following objects are resolved and replaced by direct object references:

시퀀스Sequences

패키지Packages

Java 클래스 스키마 개체Java class schema objects

사용자 정의 개체 유형User-defined object types

다른 동의어에 대 한 동의어를 마이그레이션할 수 없습니다 및 오류로 표시 됩니다.Synonyms for another synonym cannot be migrated and will be marked as errors.

동의어는 Materialized 보기에 대해 생성 되지 않습니다.Synonyms are not created for Materialized views.
사용자 정의 형식User Defined Types SSMA는 사용자 정의 형식 변환에 대 한 지원을 제공 하지 않습니다. PL/SQL 프로그램에서의 사용법을 포함 하 여 사용자 정의 형식 특수 변환 오류는 다음과 같은 규칙을 기반으로 표시 됩니다.SSMA does not provide support for conversion of user defined types. User Defined Types, including its usage in PL/SQL programs are marked with special conversion errors guided by the following rules:

사용자 정의 형식의 테이블 열 VARCHAR(8000)로 변환 됩니다.Table column of a user defined type is converted to VARCHAR(8000).

사용자의 인수 정의 저장된 프로시저에 형식 또는 함수 VARCHAR(8000)로 변환 됩니다.Argument of user defined type to a stored procedure or function is converted to VARCHAR(8000).

PL/SQL 블록의 사용자 정의 형식의 변수 VARCHAR(8000)로 변환 됩니다.Variable of user defined type in PL/SQL block is converted to VARCHAR(8000).

개체 테이블은 표준 테이블으로 변환 됩니다.Object Table is converted to a Standard table.

개체 뷰는 표준 보기로 변환 됩니다.Object view is converted to a Standard view.

Oracle 데이터베이스 개체를 변환합니다.Converting Oracle Database Objects

Oracle 데이터베이스 개체를 변환 하려면 먼저, 변환할 개체를 선택 및 SSMA는 변환을 수행 해야 합니다.To convert Oracle database objects, you first select the objects that you want to convert, and then have SSMA perform the conversion. 변환 중에 출력 메시지를 볼 수는 보기 메뉴 선택 출력합니다.To view output messages during the conversion, on the View menu, select Output.

SQL Server 구문으로 Oracle 개체를 변환 하려면To convert Oracle objects to SQL Server syntax

  1. Oracle 메타 데이터 탐색기에서 Oracle 서버를 확장 한 다음 확장 스키마합니다.In Oracle Metadata Explorer, expand the Oracle server, and then expand Schemas.

  2. 변환할 개체를 선택 합니다.Select objects to convert:

    • 모든 스키마를 변환 하려면 확인란을 옆에 선택 스키마합니다.To convert all schemas, select the check box next to Schemas.

    • 를 변환 하거나 데이터베이스를 생략 하려면 스키마 이름 옆에 있는 확인란을 선택 합니다.To convert or omit a database, select the check box next to the schema name.

    • 를 변환 하거나 개체의 범주를 생략 하려면 스키마를 확장 한 다음 선택 하거나 범주 옆의 확인란의 선택을 취소 합니다.To convert or omit a category of objects, expand a schema, and then select or clear the check box next to the category.

    • 를 변환 하거나 개별 개체를 생략 하려면 범주 폴더를 확장 한 다음 선택 하거나 개체 옆에 있는 확인란의 선택을 취소 합니다.To convert or omit individual objects, expand the category folder, and then select or clear the check box next to the object.

  3. 선택한 모든 개체를 변환 하려면 마우스 오른쪽 단추로 클릭 스키마 선택 변환 스키마합니다.To convert all selected objects, right-click Schemas and select Convert Schema.

    개체 또는 해당 부모 폴더를 마우스 오른쪽 단추로 클릭 한 다음 선택 하 여 개별 개체 또는 개체 범주의 변환할 수도 변환 스키마합니다.You can also convert individual objects or categories of objects by right-clicking the object or its parent folder, and then selecting Convert Schema.

변환 문제 보기Viewing Conversion Problems

일부 Oracle 개체를 변환할 수 있습니다.Some Oracle objects might not be converted. 변환 요약 보고서를 확인 하 여 변환 성공률을 확인할 수 있습니다.You can determine the conversion success rates by viewing the summary conversion report.

요약 보고서를 보려면To view a summary report

  1. Oracle 메타 데이터 탐색기에서 선택 스키마합니다.In Oracle Metadata Explorer, select Schemas.

  2. 오른쪽 창에서 선택 된 보고서 탭 합니다.In the right pane, select the Report tab.

    이 보고서는 평가 되거나 변환 된 모든 데이터베이스 개체에 대 한 요약 평가 보고서를 표시 합니다.This report shows the summary assessment report for all database objects that have been assessed or converted. 개별 개체에 대 한 요약 보고서를 볼 수 있습니다.You can also view a summary report for individual objects:

    • 개별 스키마에 대 한 보고서를 보려면 Oracle 메타 데이터 탐색기에서 스키마를 선택 합니다.To view the report for an individual schema, select the schema in Oracle Metadata Explorer.

    • 개별 개체에 대 한 보고서를 보려면 Oracle 메타 데이터 탐색기에서 개체를 선택 합니다.To view the report for an individual object, select the object in Oracle Metadata Explorer. 빨간색 오류 아이콘이 변환 문제가 발생 하는 개체.Objects that have conversion problems have a red error icon.

개체의 변환에 실패 한 경우 변환 실패 시 발생 하는 구문을 볼 수 있습니다.For objects that failed conversion, you can view the syntax that resulted in the conversion failure.

개별 변환 문제를 보려면To view individual conversion problems

  1. Oracle 메타 데이터 탐색기에서 확장 스키마합니다.In Oracle Metadata Explorer, expand Schemas.

  2. 빨간색 오류 아이콘을 보여 주는 스키마를 확장 합니다.Expand the schema that shows a red error icon.

  3. 스키마에서 빨간색 오류 아이콘을가지고 있는 폴더를 확장 합니다.Under the schema, expand a folder that has a red error icon.

  4. 빨간색 오류 아이콘을 가진 개체를 선택 합니다.Select the object that has a red error icon.

  5. 오른쪽 창에서 클릭 하 고 보고서 탭 합니다.In the right pane, click the Report tab.

  6. 맨 위에 있는 보고서 탭은 드롭 다운 목록입니다.At the top of the Report tab is a drop-down list. 목록에 표시 하는 경우 통계, 선택 영역을 변경 소스합니다.If the list shows Statistics, change the selection to Source.

    SSMA는 소스 코드 및 코드 바로 위의 여러 개의 단추가 표시 됩니다.SSMA will display the source code and several buttons immediately above the code.

  7. 클릭는 다음 문제점 단추입니다.Click the Next Problem button. 오른쪽을 가리키는 화살표가 있는 빨간색 오류 아이콘입니다.This is a red error icon with an arrow that points to the right.

    SSMA는 현재 개체에서 찾은 첫 번째 문제가 있는 소스 코드를 강조 표시 합니다.SSMA will highlight the first problematic source code it finds in the current object.

변환 될 수 있는 각 항목에 대 한 해당 개체를 사용 하 여 수행할를 결정 해야 합니다.For each item that could not be converted, you have to determine what you want to do with that object:

  • 프로시저에 대 한 소스 코드를 수정할 수는 SQL 탭 합니다.You can modify the source code for procedures on the SQL tab.

  • 제거 하거나 문제가 있는 코드를 수정 하려면 Oracle 데이터베이스에서 개체를 수정할 수 있습니다.You can modify the object in the Oracle database to remove or revise problematic code. SSMA에 업데이트 된 코드를 로드 하려면 메타 데이터를 업데이트 해야 합니다.To load the updated code into SSMA, you will have to update the metadata. 자세한 내용은 참조 Oracle 데이터베이스 ( OracleToSQL )에 연결합니다.For more information, see Connecting to Oracle Database (OracleToSQL).

  • 마이그레이션에서 개체를 제외할 수 있습니다.You can exclude the object from migration. SQL ServerSQL Server 메타 데이터 탐색기 및 Oracle 메타 데이터 탐색기가 개체를 로드 하기 전에 항목 옆에 있는 확인란의 선택을 취소 SQL ServerSQL Server 및 Oracle에서 데이터 마이그레이션.In SQL ServerSQL Server Metadata Explorer and Oracle Metadata Explorer, clear the check box next to the item before loading the objects into SQL ServerSQL Server and migrating data from Oracle.

다음 단계Next Step

마이그레이션 프로세스의 다음 단계에서는 SQL Server로 변환된 된 개체를 로드합니다.The next step in the migration process is to Load the converted objects into SQL Server.

관련 항목:See Also

SQL Server ( OracleToSQL ) Oracle 데이터베이스 마이그레이션Migrating Oracle Databases to SQL Server (OracleToSQL)