

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

# 를 사용하여 Informatica ETL 스크립트 변환 AWS Schema Conversion Tool
<a name="CHAP-converting-informatica"></a>

 AWS SCT 명령줄 인터페이스(CLI)를 사용하여 Informatica ETL 스크립트를 변환하여 새 대상 데이터베이스에서 스크립트를 사용할 수 있습니다. 이 변환에는 세 가지 주요 단계가 포함됩니다. 먼저 Informatica 객체에 포함된 SQL 코드를 AWS SCT 변환합니다. 다음으로, 프로젝트에서 지정한 마이그레이션 규칙에 따라 데이터베이스 객체의 이름을 AWS SCT 변경합니다. 마지막으로, Informatica ETL 스크립트의 연결을 새 대상 데이터베이스로 AWS SCT 리디렉션합니다.

 AWS SCT 데이터베이스 변환 프로젝트의 일부로 Informatica ETL 스크립트를 변환할 수 있습니다. Informatica ETL 스크립트를 변환할 때는 소스 및 대상 데이터베이스를 프로젝트에 추가해야 합니다.

Informatica ETL 스크립트를 변환하려면 AWS SCT 버전 1.0.667 이상을 사용해야 합니다. 또한 AWS SCT의 명령줄 인터페이스를 숙지해야 합니다. 자세한 내용은 [에 대한 CLI 참조 AWS Schema Conversion Tool](CHAP_Reference.md) 단원을 참조하십시오.

**를 사용하여 Informatica ETL 스크립트를 변환하려면 AWS SCT**

1. 새 AWS SCT CLI 스크립트를 생성하거나 기존 시나리오 템플릿을 편집합니다. 예를 들어 `InformaticConversionTemplate.scts` 템플릿을 다운로드하여 편집할 수 있습니다. 자세한 내용은 [CLI 시나리오 가져오기](CHAP_Reference.md#CHAP_Reference.Scenario) 단원을 참조하십시오.

1. 소스 및 대상 데이터베이스에 필요한 JDBC 드라이버를 다운로드합니다. `SetGlobalSettings` 명령을 사용하여 이러한 드라이버의 위치를 지정합니다. 또한가 로그 파일을 AWS SCT 저장할 폴더를 지정합니다.

   다음 코드 예제에서는 Oracle 및 PostgreSQL 드라이버의 경로를 AWS SCT 설정에 추가하는 방법을 보여줍니다. 이 코드 예제를 실행한 후는 `C:\sct_log` 폴더에 로그 파일을 AWS SCT 저장합니다. 또한 콘솔 로그 파일을 `C:\Temp\oracle_postgresql` 폴더에 AWS SCT 저장합니다.

   ```
   SetGlobalSettings
   	-save: 'true'
   	-settings: '{"oracle_driver_file": "C:\\drivers\\ojdbc8.jar",    
   	"postgresql_driver_file": "C:\\drivers\\postgresql-42.2.19.jar" }'
   /
   
   SetGlobalSettings
   	-save: 'false'
   	-settings: '{
   "log_folder": "C:\\sct_log",
   "console_log_folder": "C:\\Temp\\oracle_postgresql"}'
   /
   ```

1. 새 AWS SCT 프로젝트를 생성합니다. 프로젝트 이름과 위치를 입력합니다.

   다음 코드 예제는 `C:\Temp` 폴더에 `oracle_postgresql` 프로젝트를 만듭니다.

   ```
   CreateProject
   	-name: 'oracle_postgresql'
   	-directory: 'C:\Temp'
   /
   ```

1. 소스 및 대상 데이터베이스에 대한 연결 정보를 추가합니다.

   다음 코드 예제에서는 Oracle 및 PostgreSQL 데이터베이스를 AWS SCT 프로젝트의 소스 및 대상으로 추가합니다.

   ```
   AddSource
   	-password: 'source_password'
   	-port: '1521'
   	-vendor: 'ORACLE'
   	-name: 'ORACLE'
   	-host: 'source_address'
   	-database: 'ORCL'
   	-user: 'source_user'
   /
   AddTarget
   	-database: 'postgresql'
   	-password: 'target_password'
   	-port: '5432'
   	-vendor: 'POSTGRESQL'
   	-name: 'POSTGRESQL'
   	-host: 'target_address'
   	-user: 'target_user'
   /
   ```

   위 예제에서 *source\$1user* 및 *target\$1user*를 데이터베이스 사용자의 이름으로 바꿉니다. 그 다음으로, *source\$1password* 및 *target\$1password*를 암호로 바꿉니다. *source\$1address* 및 *target\$1address*에 소스 및 대상 데이터베이스 서버의 IP 주소를 입력합니다.

   Oracle 데이터베이스 버전 19 이상에 연결하려면 `AddSource` 명령에 Oracle 서비스 이름을 사용합니다. 이렇게 하려면 `-connectionType` 파라미터를 추가하고 값을 `'basic_service_name'`으로 설정합니다. 그런 다음 `-servicename` 파라미터를 추가하고 값을 Oracle 서비스 이름으로 설정합니다. `AddSource` 명령에 대한 자세한 내용은 [AWS Schema Conversion Tool 명령 참조](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf)를 확인하세요.

1. 각 소스 데이터베이스 스키마의 대상 데이터베이스 엔진을 정의하는 새 AWS SCT 매핑 규칙을 생성합니다. 자세한 내용은 [AWS Schema Conversion Tool에서 데이터 유형 매핑](CHAP_Mapping.md) 단원을 참조하십시오.

   다음 코드 예제는 모든 소스 Oracle 데이터베이스 스키마를 포함하고 PostgreSQL을 마이그레이션 대상으로 정의하는 매핑 규칙을 생성합니다.

   ```
   AddServerMapping
   	-sourceTreePath: 'Servers.ORACLE'
   	-targetTreePath: 'Servers.POSTGRESQL'
   /
   ```

1. Informatica 소스 및 대상 XML 파일에 대한 연결 정보를 추가합니다.

   다음 코드 예제는 `C:\Informatica_source` 및 `C:\Informatica_target` 폴더에서 Informatica XML 파일을 추가합니다.

   ```
   AddSource
   	-name: 'INFA_SOURCE'
   	-vendor: 'INFORMATICA'
   	-mappingsFolder: 'C:\Informatica_source'
   /
   AddTarget
   	-name: 'INFA_TARGET'
   	-vendor: 'INFORMATICA'
   	-mappingsFolder: 'C:\Informatica_target'
   /
   ```

1. 소스 Informatica XML 파일에 대한 대상 Informatica XML 파일을 정의하는 또 다른 매핑 규칙을 생성합니다.

   다음 코드 예제는 이전 예제에서 사용된 소스 및 대상 Informatica XML 파일을 포함하는 매핑 규칙을 생성합니다.

   ```
   AddServerMapping
   -sourceTreePath: 'ETL.INFA_SOURCE'
   -targetTreePath: 'ETL.INFA_TARGET'
   /
   ```

1. Informatica 연결 이름 참조에 해당하는 데이터베이스 서버 연결을 지정합니다.

   다음 코드 예제는 소스에서 새로운 대상 데이터베이스로의 Informatica ETL 스크립트 리디렉션을 구성합니다. 또한 이 예제에서 연결 변수도 구성합니다.

   ```
   ConfigureInformaticaConnectionsRedirect
   	-treePath: 'ETL.INFA_SOURCE.Files'
   	-connections: '{
   	"ConnectionNames": [
   	{
   		"name": "Oracle_src",
   		"newName": "postgres",
   		"treePath": "Servers.ORACLE"
   	}
   	]
   	"ConnectionVariables": [
   	{
            "name": "$Source",
            "treePath": "Servers.ORACLE"
       }
       ]
   	}'
   /
   ```

1. 소스 데이터베이스 스키마와 Informatica ETL 스크립트를 변환합니다.

   다음 코드 예제는 모든 소스 Oracle 데이터베이스 스키마와 Informatica XML 파일을 변환합니다.

   ```
   Convert
   	-treePath: 'Servers.ORACLE.Schemas.%'
   /
   Convert
   	-treePath: 'ETL.INFA_SOURCE.Files'
   /
   ```

1. (선택 사항) 변환 프로젝트와 평가 보고서를 저장합니다. 이 보고서에는 변환 작업 항목과 각 항목을 해결하는 방법에 대한 권장 사항이 포함되어 있습니다.

   다음 코드 예제는 프로젝트를 저장하고 평가 보고서 사본을 `C:\Temp` 폴더에 PDF 파일로 저장합니다.

   ```
   SaveProject
   /
   SaveReportPDF
   	-treePath: 'ETL.INFA_SOURCE.Files'
   	-file:'C:\Temp\Informatica.pdf'
   /
   ```

1. 변환된 Informatica XML 파일을 저장합니다.

   다음 코드 예제는 변환된 XML 파일을 `C:\Temp` 폴더에 저장합니다. 이전 단계에서 `AddTarget` 명령을 사용하여 이 폴더를 지정했습니다.

   ```
   SaveTargetInformaticaXML
   -treePath: 'ETL.INFA_TARGET.Files'
   /
   ```

1. 스크립트를 `.scts` 파일로 저장하고 AWS SCT CLI의 `RunSCTBatch` 명령을 사용하여 실행합니다. 자세한 내용은 [AWS SCT CLI 스크립트 모드](CHAP_Reference.md#CHAP_Reference.ScriptMode) 단원을 참조하십시오.

   다음 예제는 `C:\Temp` 폴더에서 `Informatica.scts` 스크립트를 실행합니다. Windows에서 이 예제를 사용할 수 있습니다.

   ```
   RunSCTBatch.cmd --pathtoscts "C:\Temp\Informatica.scts"
   ```

   소스 Informatica ETL 스크립트를 편집하는 경우 AWS SCT CLI 스크립트를 다시 실행합니다.