에러 코드: ORA-00942
에러 메시지: table or view does not exist (테이블 또는 뷰가 존재하지 않음)
발생 원인
ORA-00942 에러는 데이터베이스에서 쿼리를 실행하려 할 때, 참조된 테이블(table)이나 뷰(view)가 존재하지 않을 경우 발생합니다. 이 에러는 대개 SQL 쿼리를 실행하는 동안 잘못된 이름을 사용했거나, 데이터베이스에 접근할 권한(permission)이 없을 때 발생합니다.
예제
다음은 ORA-00942 에러가 발생하는 상황의 예입니다.
SELECT * FROM emp;
1. 사용자 접속 계정 : USER01
2. EMP 소유 계정 : SCOTT
USER01로 접속하여 위와 같이 SELECT * FROM EMP; 질의시 에러 발생!
위 쿼리를 실행했을 때 emp 테이블이 데이터베이스에 존재하지 않거나, 현재 사용자가 이 테이블에 접근할 권한이 없다면 ORA-00942 에러가 발생합니다.
해결 방법
이 에러를 해결하기 위해서는 다음 조치를 취할 수 있습니다:
- 테이블/뷰 이름 확인: 쿼리에서 참조하는 테이블이나 뷰의 이름이 정확한지 확인합니다.
- 접근 권한 확인: 해당 테이블이나 뷰에 접근할 수 있는 권한이 있는지 확인합니다. 필요하다면 DBA 에게 접근 권한을 요청할 수 있습니다.
- 스키마(schema) 명시: 쿼리에서 테이블이나 뷰를 참조할 때 스키마 이름을 명시하여 정확한 위치에서 찾을 수 있도록 합니다.
'ORACLE > ERROR CODE' 카테고리의 다른 글
ORA-12514 : listener does not currently know of service requested in connect descriptor (0) | 2024.04.19 |
---|---|
ORA-02292 : integrity constraint violation - child record found (0) | 2024.04.19 |
ORA-01555 : snapshot too old (0) | 2024.04.19 |
ORA-04031 : unable to allocate bytes of shared memory ("area","object","subpool","allocation name") (1) | 2024.04.19 |
ORA-00904 : invalid identifier (1) | 2024.04.19 |