database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10458 게시물 읽기
No. 10458
oracle_fdw 테이블 select 관련 에러 도와주세요ㅜㅜ!
작성자
chaney
작성일
2024-01-29 18:57
조회수
663

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).


위와 같은 에러가 뜹니다.

비슷한 상황을 겪어보신 분들 도움 꼭 부탁드립니다.
 
이 글에 대한 댓글이 총 6건 있습니다.

테이블명 대소문자 구분하는 듯 한데요?

대문자 TEST 로 실행해 보세요.

마농(manon94)님이 2024-01-30 09:49에 작성한 댓글입니다.

select * from TEST1;

로 실행해보았는데 위와 똑같은 에러가 납니다.


대소문자 문제는 아닌 듯합니다 ㅠ

chaney님이 2024-01-30 10:33에 작성한 댓글입니다. Edit

오라클 쪽에 public.test 테이블이 없는 경우입니다.


외부테이블을 만들 때, 오라클 쪽에 있는 테이블을 만들어보세요.

김상기(ioseph)님이 2024-01-30 10:37에 작성한 댓글입니다.

대문자 PUBLIC EMP 로 해보세요.

마농(manon94)님이 2024-01-30 10:52에 작성한 댓글입니다.
이 댓글은 2024-01-30 11:06에 마지막으로 수정되었습니다.

김상기님 말씀해주신대로 오라클쪽에 TEST1이라는 테이블을 만들고 (schema명: PROPONEST_SAAS) PG에서 FDW를 사용해서 foreign table인 TEST1을 만들었습니다.


그래도 위와 동일한 에러가 납니다 ㅠㅠ

chaney님이 2024-01-31 09:43에 작성한 댓글입니다. Edit
HINT: Oracle table names are case sensitive (normally all uppercase).

오라클에서 그냥 큰 따옴표 없이,
create table test1 ....
이렇게 만들었다면,
외부테이블 만들 때, 그 테이블 이름, 스키마 이름을 모두 대문자로 지정해야합니다.
 

김상기(ioseph)님이 2024-01-31 10:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10462Tibero to PostgreSQL [1]
임한수
2024-02-26
631
10461파워빌더에서 bytea 타입 이미지 출력 [1]
piamail4z
2024-02-21
503
10460invalid page in block~ 오류 관련 문의 드립니다 [3]
ilyam
2024-02-14
622
10458oracle_fdw 테이블 select 관련 에러 도와주세요ㅜㅜ! [6]
chaney
2024-01-29
663
10457테이블 rename 관련 질문합니다 [1]
소라77
2024-01-26
582
10456(제발) ora2pg 사용 데이터 이관시 궁금증 [3]
chaney
2024-01-05
963
10454CS 프로그램에서 가상테이블을 만들수있나요? [5]
이기자
2023-12-24
1073
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다