Oracle에서 PostgreSQL로 마이그레이션 하는 과정에서 아래와 같이 환경정보와 파일설치, 환경변수 설정까지 완료한 상태입니다.
- 환경정보
- Red Hat Enterprise Linux release 8.4 (Ootpa)
- PostgreSQL 15.0
- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
- 설치자료 및 다운로드 정보
- Oracle Instant Client for Linux x86-64 (64-bit) 다운로드
- https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
- Postgresql 15 관련 LIbrary 파일 다운로드
- https://download.postgresql.org/pub/reps/yum/15/redhat/rhel-8-x86_64/
- oracle_fdw-ORACLE_FDW_2_6_0 다운로드
- https://github.com/laurenz/oracle_fdw/releases/tag/ORACLE_FDW_2_6_0
- 환경변수 설정
- export PG_HOME=/usr/pgsql-15
- export ORACLE_HOME=/usr/lib/oracle/12.2/client64
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LB_LIBRARY_PATH
- export PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$PG_HOME/bin:$ORACLE_HOME/bin:$PATH
------------------------------------------------------------------------------------------------------------------------------------------------
아래부터 에러항목입니다.
1. oracle_fdw Module을 Extension 시킴 (잘됨)
#create etension oracle_fdw;
2. oracle 데이터베이스 연결서버 생성
# create server ora foreign data wrapper oracle_fdw options(dbserver '//000.00.00.236:1521/orcl' ); (잘됨, SID 문제없음)
3. oracle 데이터베이스와 연결할 유저 생성 (여기도 잘되긴 하는데 매핑하는 부분이 맞는지 의심스럽습니다)
# create user (postgresql super role 입력) password '0000' login;
# grant usage on foreign server ora to (postgresql super role 입력);
# create user mapping for (postgresql super role 입력) server ora options(user '오라클유저아이디', password '오라클 패스워드');
4. 외래테이블 생성 (잘 생성됩니다. pgadmin4에서 확인)
# create foreign table test (
empno numeric
) server ora options(schema 'public', table 'emp');
5. 외래테이블 확인 (여기부터 진행이 안됩니다.)
# select * from test;
ERROR: Oracle table "public"."emp" for foreign table "test" does not exist or does not allow read access
DETAIL: ORA-00943: table or view does not exist.
HINT: Oracle table names are case sensitive (normally all uppercase).
위와 같은 에러가 뜹니다.
비슷한 상황을 겪어보신 분들 도움 꼭 부탁드립니다.
|