반응형
컨테이너에 전달할 수 있는 명령은 전부 “Ora2Pg가 미리 설계해 둔 명령과 옵션”으로 한정된다.
Docker는 그걸 그대로 전달만 해주는 전달자 역할일 뿐이다.
그럼 “그 명령 목록과 옵션을 어디서, 어떻게 확인하느냐”를 실무 기준으로 단계별 정리해보자.
1️⃣ 가장 1차적인 방법: --help (현장에서 제일 많이 씀)
컨테이너 기준
docker run --rm ora2pg-image --help
이게 내부적으로 하는 일은 이거다.
ora2pg --help
즉,
- 지금 설치된 Ora2Pg 버전
- 실제로 사용 가능한 옵션만
- 정확하게 확인 가능
👉 버전 불일치 걱정 없는 가장 신뢰도 높은 방법
2️⃣ 로컬 실행 기준도 완전히 동일
컨테이너가 아니라 로컬 설치라면:
ora2pg --help
결과는 컨테이너와 동일한 구조다
(차이는 버전뿐)
3️⃣ man 페이지 (서버/리눅스 환경에서 자주 사용)
Ora2Pg는 man 페이지를 제공한다.
man ora2pg
또는 컨테이너 안에서:
docker run -it --rm --entrypoint bash ora2pg-image man ora2pg
man 페이지의 특징
- 옵션 설명이 가장 자세함
- 설정 파일(ora2pg.conf) 항목까지 포함
- 다만 읽기엔 좀 길다 (교과서 느낌)
4️⃣ 공식 문서 (전체 그림을 볼 때)
Ora2Pg 공식 문서는 GitHub에 있다.
- 위치: Ora2Pg GitHub 저장소
- 핵심 파일:
- README
- doc/ora2pg.3
- doc/Ora2Pg.pod
여기서 볼 수 있는 것:
- 전체 변환 타입 (-t)
- Oracle → PostgreSQL 변환 규칙
- DATA / TABLE / VIEW / FUNCTION 등 상세 설명
- 성능 옵션, 병렬 처리 개념
👉 “이 도구가 뭘 할 수 있는가”를 이해할 때 필요
5️⃣ 실무에서 가장 자주 쓰는 핵심 명령 묶음 (감 잡기용)
전체 옵션은 많지만, 실제로 90%는 이 범위에서만 돈다.
🔹 접속 테스트
ora2pg --test-connection
🔹 변환 대상 타입 지정 (-t)
-t TABLE # 테이블 DDL
-t VIEW # 뷰
-t FUNCTION # 함수
-t SEQUENCE # 시퀀스
-t DATA # 데이터
-t GRANT # 권한
🔹 설정 파일 지정
-c ora2pg.conf
🔹 출력 파일
-o schema.sql
🔹 스키마 제한
-s HR
🔹 데이터 필터링
WHERE created_at >= '2024-01-01'
6️⃣ 중요한 개념 하나 짚고 가자 (많이들 헷갈림)
❌ Ora2Pg에는 “임의 쿼리 실행” 명령이 없다
❌ SQL 콘솔이 아니다
✅ “미리 정의된 변환 작업”만 가능
즉,
- SELECT * FROM ... 직접 실행 ❌
- DROP TABLE ... ❌
- DB 관리용 도구 ❌
이건 마이그레이션 도구다.
그래서:
- 명령이 제한돼 있는 게 단점 ❌
- 오히려 안전장치다 ⭕
7️⃣ Docker 관점에서 다시 정리하면
docker run ora2pg-image [여기서부터]
이 뒤에 올 수 있는 건 전부:
ora2pg가 허용한 옵션만
Docker는:
- 해석 ❌
- 검증 ❌
- 판단 ❌
그냥 전달만 한다.
8️⃣ 한 줄 요약
이 컨테이너에 전달하는 명령은
전부 Ora2Pg가 미리 정의한 CLI 옵션이며,
그 목록은 --help, man ora2pg, 공식 문서에서 확인한다.
이제 다음으로 자연스럽게 이어지는 질문은 이거다.
- “ora2pg.conf에 있는 설정은 언제 CLI 옵션보다 우선이야?”
- “CLI 옵션과 설정 파일이 충돌하면 누가 이겨?”
- “DATA 추출은 왜 설정 파일로 하는 게 더 안전해?”
**도구를 ‘쓰는 단계’를 넘어 ‘통제하는 단계’.
반응형
'실험실 > db이행' 카테고리의 다른 글
| 2컨테이너 실용화 (1) | 2026.01.22 |
|---|---|
| 결과파일의 관리 (0) | 2026.01.22 |
| Ora2Pg의 본질적인 실행 모델 (0) | 2026.01.22 |
| ora2pg 작동원리 (0) | 2026.01.22 |
| 도커파일성격 (0) | 2026.01.22 |
댓글