반응형
ORA-00980 오류 발생
정말 완전한 삽질을 하여 기록해놓음
다른 물리적 DB를 DBLINK 로 접근하고 있는 상황임
SELECT는 문제 없이 되나 프로시져 안의 쿼리에서만 ORA-00980 오류가 발생함
구글링을 해보니 원인으로는
1번
1. A USER 로 테이블 A 생성
2. A USER 로 시노님을 B USER 로 생성
3. A USER 가 테이블 A DROP 후 다시 생성
4. B USER 가 테이블 A 접근 시 ORA-00980 발생
해결방안 : A USER가 시노님 재생성
2번
1. A DB 에 테이블 A 존재
2. B DB 에서 A DB 의 DBLINK 로 테이블 조회
3. C DB 에서 B DB 의 DBLINK 를 통해 테이블 A 를 패키지 내에서 사용하려고 할 경우 ORA-00980 발생
해결방안 : B DB 에서 A DB 를 DBLINK 로 조회하는 뷰 생성, C DB에서는 B DB의 뷰를 참조
3번
나의 경우 , 존나 뻘짓
SELECT LV_DATE /*프로시져 내 변수*/
, USER_ID
, USER_NM
FROM USER_DATA@DL_USER
ORDER BY 1, 2
ORDER BY 1 떄문에 ORA-00980 발생함
참고 URL
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7095288486502