ORA-00942: Table or view does not exist
Oracle의미
쿼리에서 참조한 테이블 또는 뷰가 존재하지 않거나 접근하는 사용자에게 보이지 않는다.
원인
객체가 실제로 존재하지 않음, 다른 스키마에 있는데 스키마 접두어를 지정하지 않음, 사용자에게 객체 권한(SELECT 등)이 없음, synonym 누락, 또는 객체 이름 오타.
해결 방법
객체의 존재 여부와 소유자를 확인한다: SELECT owner, object_type FROM all_objects WHERE object_name = 'TABLE_NAME'. 다른 스키마에 있다면 schema.table로 완전 한정하거나 GRANT SELECT ON app_schema.my_table TO app_user로 권한을 부여한다. 필요하면 public/private synonym을 생성한다: CREATE SYNONYM my_table FOR app_schema.my_table. 대소문자와 따옴표 식별자에 주의한다.
같은 데이터베이스의 다른 항목
- ORA-04031Unable to allocate N bytes of shared memory
- ORA-12154TNS: could not resolve the connect identifier specified
- ORA-12514TNS: listener does not currently know of service requested in connect descriptor
- ORA-01031Insufficient privileges
- ORA-00257Archiver error. Connect internal only, until freed
- ORA-01000Maximum open cursors exceeded
- ORA-00018Maximum number of sessions exceeded