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

SELECT *의 Float 열 사용 위치 또는 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

순위, 잠재 고객, 로그OVER, RANK, LEAD, LOG

MIN, MAXMIN, MAX

UNION, 빼기, INTERSECTUNION, 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로 데이터베이스 마이그레이션 Oracle (OracleToSQL)Migrating Oracle Databases to SQL Server (OracleToSQL)