새소식

반응형
Database/ORACLE

테이블이 존재 하는데, ORA-00942 발생

  • -
반응형

오라클 운영 중에 황당한(?) 일을 겪어서, 확인해 보니 다음과 해결 법을 찾아서 내용을 공유합니다.

 

개발자가 오라클 서버에 새로운 인덱스를 생성해 달라고 요청이 왔습니다.

테이블을 조회하여, 인덱스를 걸고자 하였습니다. 

 

그런데, 분명히 테이블이 있는데 인덱스를 생성할 경우 테이블이 없다고 나오며, ORA-00942가 계속해서 발생하였습니다. 메시지 내용은 상당히 간단합니다. 테이블 또는 뷰가 존재하지 않습니다. 

 

우선 테이블이 실제 존재하는지 ALL_TABLES를 통해 확인 해봤습니다.

1
SELECT *  FROM all_tables  WHERE table_name = '테이블명' 
cs

 

테이블은 정상적으로 존재하였습니다.

테이블 존재 확인

 

하지만 테이블을 조회할 경우 다음과 같이 에러가 나왔습니다.

 

ORA-00942: table or view does not exist00942. 00000 -  "table or view does not exist"*Cause:    *Action:6행, 6열에서 오류 발생

 


해결법      - ORA-00942가 발생 할 경우 확인 해야 할 사항은 아래와 같습니다.

① 데이터베이스의 연결이 안되어 있음

② 테이블에 권한이 없음

③ 맞춤법이 오류 또는 실제로 테이블이 존재 하지 않음

④ 테이블의 앞에 소유자를 명시하여, SELECT 해야 함 ( SELECT * FROM 소유자.테이블명 )

 

저의 경우 4번에 해당하는 소유 명시를 하지 않아 발생 한 문제였으며, 인덱스를 생성 할 때도 마찬가지로 소유자를 명시하여, 해결하였습니다.

1
2
 
SELECT *  FROM 소유자.테이블명 WHERE USER_ID='test001';
cs

 

참조 

http://stackoverflow.com/questions/7206709/oracle-select-statement-not-working-ora-00942

 

반응형

'Database > ORACLE' 카테고리의 다른 글

Oracle Listener 시작 불가능 해결  (0) 2021.06.02
ORACLE 계정 만료 해제  (0) 2016.03.30
ORACLE TABLESPACE 생성/삭제  (0) 2015.11.06
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.