728x90
✅ 1. oracle_fdw 설치 방법 (Linux 기준)
# 필요한 라이브러리 설치
sudo apt install postgresql-server-dev-14 # PostgreSQL 버전에 맞춰 설치
sudo apt install libclntsh-dev libaio-dev # Oracle Client SDK 필요
# oracle_fdw 다운로드 및 빌드
git clone https://github.com/laurenz/oracle_fdw.git
cd oracle_fdw
make
sudo make install
⚠️ Oracle Instant Client 및 ORACLE_HOME, LD_LIBRARY_PATH 환경 변수 설정도 필요하다.
✅ 2. PostgreSQL 내부에서 oracle_fdw 확장 등록
CREATE EXTENSION oracle_fdw;
✅ 3. Oracle 서버 등록
CREATE SERVER oracle_server
FOREIGN DATA WRAPPER oracle_fdw
OPTIONS (dbserver '//192.168.0.100:1521/XE'); -- orcl 대신 서비스명/SID
✅ 4. 사용자 매핑
CREATE USER MAPPING FOR CURRENT_USER
SERVER oracle_server
OPTIONS (user 'oracle_user', password 'oracle_password');
✅ 5. 외부 테이블 만들기 (Foreign Table)
CREATE FOREIGN TABLE oracle_emp (
empno integer,
ename text,
job text,
sal numeric
)
SERVER oracle_server
OPTIONS (schema 'HR', table 'EMP');
이제 PostgreSQL에서 마치 로컬 테이블처럼 SELECT * FROM oracle_emp; 가능!
✅ 6. 활용 예
-- PostgreSQL 테이블과 조인도 가능
SELECT a.empno, a.ename, b.dept_name
FROM oracle_emp a
JOIN local_dept b ON a.empno = b.empno;
⚠️ 참고사항
- oracle_fdw는 일부 경우에만 INSERT/UPDATE/DELETE 가능 (Oracle 테이블에 따라 다름)
- Oracle Instant Client 19c 이상 버전 추천
- 권한 문제로 Oracle 쪽에서 SELECT 권한 꼭 필요
728x90
'개발 > 데이터베이스' 카테고리의 다른 글
| oracle_fdw 연결확인 및 문제 발생시 점검/해결 방법 (0) | 2025.04.16 |
|---|---|
| PostgreSQL FDW(Foreign Data Wrapper) 확인 점검 (0) | 2025.04.16 |
| PostgreSQL FDW (Foreign Data Wrapper) foreign table 생성 방법 (0) | 2025.04.16 |
| PostgreSQL 락(lock) 프로세스 확인 및 강제 종료(kill) (0) | 2025.04.08 |
| PostgreSQL에서 WITH ... AS MATERIALIZED 물리적 임시저장 (0) | 2025.03.18 |