반응형
- Oracle DB를 PostgreSQL로 이관하기 위한 전문 오픈소스 도구입니다.
- 홈페이지 : https://ora2pg.darold.net/
- 소스코드 : https://github.com/darold/ora2pg
- 스키마 분석,
SQL
변환, 데이터 덤프, 자동 변환을 지원합니다. - 특히 테이블(
Table
), 인덱스(Index
), 시퀀스(Sequence
), 뷰(View
), 프로시저(PL/SQL
) 까지 변환할 수 있습니다.
-
Ubuntu / Debian 리눅스 계열:
-
sudo apt update sudo apt install ora2pg
-
-
Red Hat / CentOS 계열:
-
sudo yum install ora2pg
-
-
macOS (
brew
사용):-
brew install ora2pg
-
-
주의:
Oracle Instant Client
가 필요합니다.Perl
DBI
모듈(DBD::Oracle
)도 필요할 수 있습니다.
ora2pg
는 설정 파일을 통해 동작합니다.- 기본적으로
ora2pg.conf
파일을 작성하거나, 명령어로 옵션을 직접 지정할 수 있습니다.
-
conf
# Oracle 접속 정보 ORACLE_DSN dbi:Oracle:host=127.0.0.1;sid=ORCL ORACLE_USER system ORACLE_PWD oracle_password # PostgreSQL 출력 파일 경로 OUTPUT /tmp/output.sql # 이관할 항목 지정 EXPORT_SCHEMA 1 EXPORT_TABLE 1 EXPORT_VIEW 1 EXPORT_SEQUENCE 1
-
설정 파일을 만들어 두었다면:
-
bash
ora2pg -c ora2pg.conf
-
👉 그러면
/tmp/output.sql
파일이 생성됩니다. -
👉 이 파일을
psql
로PostgreSQL
에 입력하면 됩니다. -
bash
psql -U postgres -d mydb -f /tmp/output.sql
-
설정 파일 없이 단발성 이관도 가능합니다.
-
bash
ora2pg -t TABLE \ -o tables.sql \ -b /tmp \ -c config/ora2pg.conf
-
설명:
-t
: 추출할 항목 타입 (TABLE
,VIEW
,SEQUENCE
등)-o
: 출력 파일 이름-b
: 출력 디렉토리-c
: 사용할 설정 파일
-
또는 설정 파일 없이 직접 다 입력하는 경우:
-
bash
ora2pg -t TABLE \ -o tables.sql \ -b /tmp \ -d dbi:Oracle:host=127.0.0.1;sid=ORCL \ -u system \ -w oracle_password
-
옵션 설명 -t
추출 대상 ( TABLE
,VIEW
,SEQUENCE
,TRIGGER
,FUNCTION
등)-o
출력 SQL
파일 이름-b
출력 디렉토리 -c
설정 파일 경로 -d
Oracle DSN
지정-u
Oracle
사용자명-w
Oracle
비밀번호-p
PostgreSQL
로 직접 데이터 삽입 (DUMP_DATA
시)-a
특정 테이블, 뷰 이름만 지정하여 추출 가능 (콤마로 구분)
- (1)
Oracle
접속 정보 설정 - (2) 추출할 대상 선택 (테이블, 뷰, 시퀀스 등)
- (3)
SQL
변환 파일 생성 - (4)
PostgreSQL
에 변환된SQL
적용
- 필요시 데이터까지 덤프하여
PostgreSQL
에 직접 삽입도 가능합니다.
-
1단계:
Oracle
→PostgreSQL
SQL
생성-
bash
ora2pg -t TABLE \ -o all_tables.sql \ -b /tmp \ -d dbi:Oracle:host=127.0.0.1;sid=ORCL \ -u system \ -w oracle_password
-
-
2단계: 생성된
SQL
을PostgreSQL
에 적용-
bash
psql -U postgres \ -d my_pg_db \ -f /tmp/all_tables.sql
-
-
3단계: (옵션) 데이터까지 이관하는 경우
-
bash
ora2pg -t COPY \ -o data.sql \ -b /tmp \ -c ora2pg.conf psql -U postgres \ -d my_pg_db \ -f /tmp/data.sql
-
ora2pg
는Oracle
→PostgreSQL
변환에 가장 널리 쓰이는 툴입니다.- 스키마와 데이터 모두 변환 가능하며, 대규모 데이터베이스도 대응 가능합니다.
- 설정 파일을 통해 복잡한 이관 제어도 가능합니다.
- 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄
- 일부 모바일 환경에서는 ❤️ 버튼이 보이지 않습니다.
728x90
반응형
'Oracle' 카테고리의 다른 글
Pro*C 와 PL/SQL 공통점과 차이점 (0) | 2025.05.20 |
---|---|
soci를 Linux 환경에서 Oracle과 함께 빌드하기 위한 스크립트 (0) | 2024.11.29 |
Python-oracledb 라이브러리 설치 가이드 (1) | 2024.11.13 |
Oracle SQL*Loader sqlldr (1) | 2024.11.13 |