"오라클 VIEW 권한"의 두 판 사이의 차이
DB CAFE
1번째 줄: | 1번째 줄: | ||
− | + | 뷰안에 포함된 다른 사용자의 테이블/뷰에 대한 권한 부여 방법 | |
− | |||
− | + | 1) A사용자.뷰를 B사용자에게 줄때 권한 에러 발생시 | |
− | + | A사용자.뷰안에 포함된 A사용자가 소유한 오브젝트를 제외한 타유저의 오브젝트에 권한을 상속받아서 권한가 발생하지 않음. | |
+ | |||
+ | 예시 ) SCOTT유저가 LEE 유저에게 뷰 조회 권한을 주고자한다. | ||
+ | SCOTT유저가 만든 V1은 KIM유저의 V0(뷰/테이블) 이 조인되어 있다. | ||
+ | |||
+ | |||
+ | 1) SCOTT자신이 만든 뷰(A.V1) 안에 다른 유저의 뷰를 사용 할경우 | ||
+ | |||
+ | <source lang=sql> | ||
+ | CREATE VIEW V1 | ||
+ | AS | ||
+ | SELECT A.xxx | ||
+ | , V0.컬럼 | ||
+ | FROM EMP A | ||
+ | , KIMCHI.V0 | ||
+ | WHERE A.EMP_NO = B.EMP_NO | ||
+ | ; | ||
+ | </source> | ||
+ | |||
+ | 2) 다른유저에게 뷰1 조회 권한을 줄때 권한 에러 발생시 | ||
+ | |||
+ | <source lang=sql> | ||
+ | GRANT SELECT ON KIM.V0 TO SCOTT '''WITH GRANT OPTION'''; | ||
+ | </source> | ||
V0에 with grant optionm을 줘야함. | V0에 with grant optionm을 줘야함. | ||
− | 뷰0 내부의 | + | |
+ | 뷰0 내부의 다른유저테이블에도 '''WITH GRANT OPTION''' 필요함. |
2019년 3월 18일 (월) 14:00 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
뷰안에 포함된 다른 사용자의 테이블/뷰에 대한 권한 부여 방법
1) A사용자.뷰를 B사용자에게 줄때 권한 에러 발생시
A사용자.뷰안에 포함된 A사용자가 소유한 오브젝트를 제외한 타유저의 오브젝트에 권한을 상속받아서 권한가 발생하지 않음.
예시 ) SCOTT유저가 LEE 유저에게 뷰 조회 권한을 주고자한다.
SCOTT유저가 만든 V1은 KIM유저의 V0(뷰/테이블) 이 조인되어 있다.
1) SCOTT자신이 만든 뷰(A.V1) 안에 다른 유저의 뷰를 사용 할경우
CREATE VIEW V1
AS
SELECT A.xxx
, V0.컬럼
FROM EMP A
, KIMCHI.V0
WHERE A.EMP_NO = B.EMP_NO
;
2) 다른유저에게 뷰1 조회 권한을 줄때 권한 에러 발생시
GRANT SELECT ON KIM.V0 TO SCOTT '''WITH GRANT OPTION''';
V0에 with grant optionm을 줘야함.
뷰0 내부의 다른유저테이블에도 WITH GRANT OPTION 필요함.