본사에서 받은 dump file import 후 Report 화면에 데이터가 하나도 나오지 않아 확인해 보니 reporting 계정의 function / procedure들이 모두 invalid 상태이다.
EnterpriseManager에서 해당 function 을 일일이 compile을 시켜도 모두
PL/SQL: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
이런 오류만 떨어 진다..
헌데 해당 Table을 SQLPLUS를 통해 확인해 보면 정상적으로 Access 가능하다.
( 계정 별로 Table을 생성한 후 서로 다른 계정 테이블을 Synonym 으로 연결해서 쓰는 구조.. )
뭔가 본사에서 export를 잘 못 하거나 아님 내가 import를 잘 못하거나 두개 중 하나일텐데...
http://database.sarang.net/?inc=read&aid=30895&criteria=oracle&subcrit=&id=&limit=20&keyword=function+ORA-00942&page=1
이 글을 보다 보니 답이 나온다.
import하다가 문제가 좀 생겨서
primary 계정이랑 reporting 계정을 삭제하고 다시 생성했는데
primary 계정 import 시 grant 관련 처리가 끝난 후에 reporting 계정이 생성되어
grant 관련 option이 적용되지 않아서 생긴 문제 였다.
결국 두개 계정 다시 drop 후 ( 물론 primary만 drop 해도 되기는 했지만 )
다시 하나씩 계정 생성 후 import하니 잘 된다.
결국 결론은 SQLPLUS에서 접속이 되는 거랑
function 내에서 해당 테이블을 참조하는 권한은 조금씩 다르다는 결론을 내릴 수 있을 것 같다.
EnterpriseManager에서 해당 function 을 일일이 compile을 시켜도 모두
PL/SQL: ORA-00942: 테이블 또는 뷰가 존재하지 않습니다
이런 오류만 떨어 진다..
헌데 해당 Table을 SQLPLUS를 통해 확인해 보면 정상적으로 Access 가능하다.
( 계정 별로 Table을 생성한 후 서로 다른 계정 테이블을 Synonym 으로 연결해서 쓰는 구조.. )
뭔가 본사에서 export를 잘 못 하거나 아님 내가 import를 잘 못하거나 두개 중 하나일텐데...
http://database.sarang.net/?inc=read&aid=30895&criteria=oracle&subcrit=&id=&limit=20&keyword=function+ORA-00942&page=1
이 글을 보다 보니 답이 나온다.
import하다가 문제가 좀 생겨서
primary 계정이랑 reporting 계정을 삭제하고 다시 생성했는데
primary 계정 import 시 grant 관련 처리가 끝난 후에 reporting 계정이 생성되어
grant 관련 option이 적용되지 않아서 생긴 문제 였다.
결국 두개 계정 다시 drop 후 ( 물론 primary만 drop 해도 되기는 했지만 )
다시 하나씩 계정 생성 후 import하니 잘 된다.
결국 결론은 SQLPLUS에서 접속이 되는 거랑
function 내에서 해당 테이블을 참조하는 권한은 조금씩 다르다는 결론을 내릴 수 있을 것 같다.
'개발자세상 > Database관련' 카테고리의 다른 글
ORA-30557 (0) | 2009.12.09 |
---|---|
Oracle Table Column Rename (0) | 2009.10.28 |
impdp / expdp (0) | 2009.06.19 |
MYSQL에서 copy_t , copy_ymd 테이블 만들기 (0) | 2009.03.13 |
MYSQL에서 Rownum 사용하기 (0) | 2009.03.13 |