PostgreSQL

Windows 환경에서 Ora2Pg를 사용하는 방법

_Blue_Sky_ 2024. 12. 3. 22:12
728x90

 

Ora2Pg는 Oracle 데이터베이스를 PostgreSQL로 마이그레이션하기 위한 오픈 소스 툴로, 기본적으로 Linux 환경에서 잘 동작하지만, Windows에서도 사용할 수 있습니다. 아래는 Windows 환경에서 Ora2Pg를 사용하는 방법입니다.


1. Ora2Pg 설치 준비

Ora2Pg는 Perl로 작성되었으므로 Perl 인터프리터가 필요합니다.

  1. Perl 설치
    • Strawberry Perl 또는 ActivePerl 중 하나를 다운로드하여 설치합니다. Strawberry Perl이 더 널리 사용됩니다.
    • 설치 후, Perl이 올바르게 설치되었는지 확인하려면 명령 프롬프트에서 perl -v를 실행해 보세요.
  2. Ora2Pg 다운로드
    • Ora2Pg는 GitHub에서 다운로드 가능합니다: Ora2Pg GitHub Repository.
    • ZIP 파일로 다운로드하거나, Git을 통해 클론합니다:
      git clone https://github.com/darold/ora2pg.git
      
  3. Ora2Pg 의존성 설치
    Perl 의존성 모듈을 설치해야 합니다. 이를 위해 CPAN을 사용하세요:
  4. cpan install DBI DBD::Oracle DBD::Pg

2. Oracle 클라이언트 설치

Ora2Pg는 Oracle 데이터베이스와 통신하기 위해 Oracle Instant Client가 필요합니다.

  1. Oracle Instant Client 다운로드
  2. 환경 변수 설정
    • PATH 환경 변수에 Oracle Instant Client 설치 경로를 추가합니다.
    • 예:
    • C:\oracle\instantclient
    • TNS_ADMIN 환경 변수도 설정하여 TNS 파일 경로를 지정할 수 있습니다(필요 시).

3. Ora2Pg 구성

  1. Ora2Pg 구성 파일 편집
    • Ora2Pg 폴더 안에 있는 ora2pg.conf 파일을 수정합니다.
    • 주요 설정:
      ORACLE_HOME     C:\oracle\instantclient
      ORACLE_DSN      dbi:Oracle:host=YOUR_ORACLE_HOST;sid=YOUR_SID
      ORACLE_USER     your_oracle_username
      ORACLE_PWD      your_oracle_password
      PG_DSN          dbi:Pg:dbname=your_postgres_db;host=YOUR_POSTGRES_HOST;port=5432
      PG_USER         your_postgres_username
      PG_PWD          your_postgres_password
      
  2. 테스트 실행
    • Ora2Pg가 올바르게 동작하는지 확인하려면 테스트 실행:
      perl ora2pg --test
      

4. Ora2Pg 실행

Ora2Pg는 명령줄에서 실행됩니다.

  1. 데이터 추출 및 마이그레이션
    데이터베이스를 스캔하고 스키마, 데이터를 PostgreSQL로 내보내려면:
  2. perl ora2pg
  3. 특정 작업 수행
    특정 작업을 지정하려면 --type 옵션을 사용할 수 있습니다. 예:
  4. perl ora2pg --type TABLE

5. 문제 해결

  1. Perl 모듈 오류
    • 특정 Perl 모듈 설치 실패 시 CPAN을 사용하거나 수동으로 설치하세요:
      cpan install MODULE_NAME
      
  2. Oracle 클라이언트 관련 오류
    • LD_LIBRARY_PATH 또는 PATH에 올바른 Oracle Instant Client 경로가 설정되어 있는지 확인하세요.

Windows에서 Ora2Pg를 사용하는 과정은 다소 복잡할 수 있으나, 위 단계를 순차적으로 따라하면 설정이 가능합니다. 추가적인 도움이 필요하시면 알려주세요!

728x90