본문 바로가기

프로그램/oracle

[ORACLE]ORA-00980 오류 발생

반응형

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

http://kosate.tistory.com/139

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7095288486502