view 권한 문제 (insufficient privileges) 0 3 2,217

by 깽즈 [Oracle Admin] [2014.01.07 21:54:23]


2.jpg (59,066Bytes)

안녕하세요.
궁금한 점이 있어서 글 올립니다.

현재 상황은 첨부된 그림과 같습니다.

간단히 설명을 드리면요

A사용자가 B사용자의 B_1 테이블에 대한 View를 생성합니다. 이때 아래와 같이 권한 및 시노님을 설정했구요

GRANT SELECT ON B.B_1 TO A;
CREATE SYNONYM A.B_1 FOR B.B_1;

CREATE VIEW A.B_1_VIEW
AS
SELECT * FROM B.B_1;

이런 후에 A사용자 소유의 B_1_VIEW 뷰를 B 사용자에게 SELECT할 수 있는 권한을 주고 B 사용자가 사용할 수 있게 설정합니다.

GRANT SELECT ON A.B_1_VIEW TO B;
CREATE SYNONYM B.B_1_VIEW FOR A.B_1_VIEW;

이렇게 까지하고나서 B사용자로 B_1_VIEW를 조회하면 

insufficient privileges 오류가 발생하면서 조회가 되지 않는데요.

상황이 좀 꼬이긴 했는데... VIEW는 이렇게 생성하는 경우 사용할 수가 없는 건가요?


선배님들 조언 부탁드리겠습니다.

by Oracler [2014.01.07 22:54:46]
질문에 답이 아니라 질문을 드려서 죄송한데요.
일단, 이렇게 사용하시려는 이유가 제일 궁금하네요.
즉, B 유저 자신이 직접 SELECT 할 수 있는 B_1 테이블을 굳이 다른 유저의 뷰를 빌려서 자신의 B_1 테이블을 빙 둘러서 SELECT 하려는 이유가 궁금합니다.

by 임상준 [2014.01.08 08:42:16]
올리신 스크립트로 테스트하면 다른 에러가 나긴 하지만...
b --> a 로 테이블 권한 줄 때 with grant option 주고 grant 해보세요 

by 깽즈 [2014.01.08 09:12:39]
감사합니다.

처음부터 WITH GRANT OPTION을 사용해서 권한을 주면

B가 다시 A의 뷰를 읽을 수가 있네요...

많이 배웠습니다~!!!
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입