View실행시 ORA-01031: insufficient privileges 에러가... 0 4 5,474

by 뒤집힌거북이 [설치/설정] [2010.05.12 18:06:52]



안녕하세요
우선 계정이 3개가 있습니다.
A, B, C 이렇게요.

A계정에서 자신의 테이블과 B계정의 테이블을 이용해서 View하나를 만들었습니다.
그리고 그 View를 C에게 권한을 줬습니다.

그리고 C에서 실행을 할려고 하면
B계정의 테이블명을 못찾더라구요
그래서 C에게 B계정의 테이블의 SELECT권한을 줬습니다.

그랬더니 이번에는 제목처럼 권한이 없다고 나옵니다.
어떻게 해야할지 막막해서 여기에 글을 남깁니다.

궁굼한것은 A계정의 테이블을 많이 사용했는데...
그테이블들은 다 읽어내면서 B계정은 테이블을 못찾습니다.
뭐.. 그래서 권한을 줬지만서도..
왜 이런 현상이 읽어날까요?
어떻게 하면 처리할수 있을까요?

물론 View를 C계정에서 그냥 만들면 되겠지요.
그럴라면 A,B계정들의 사용한 테이블들과 함수들을 다 권한을 C에게 줘하는
번거로옴때운에...

고수님들의 답변 부탁드립니다.

감사합니다.
by 타락천사 [2010.05.13 08:33:51]
찾으시면 많이 나오는데...
1. 시노님이 없는 상태라면, 뷰 내에서 오너.테이블명으로 명시
2. 권한 부여하실때, 실제 유저 이름으로 부여 하세요.
롤을 통해서 부여하지 마시구

by 뒤집힌거북이 [2010.05.13 15:59:30]
권한도 다음과 같이 줬습니다.
GRANT SELECT ON B계정.타겟테이블 TO C계정;
View내에서 시노님을 안쓰고 계정.테이블명으로 명시했습니다.

검색해 봐도 잘 안나와서 ^^;

by 뒤집힌거북이 [2010.05.13 16:49:27]
참.. 생성시 나는 에러가 아니구요
조회시 나오는 에러입니다.

by 이승준 [2010.06.10 16:09:41]
GRANT SELECT ANY TABLE TO 유저명
권한을 주세요
주고 나면 해결이 되더라고요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입