- 'USER_A' : 테이블 'TAB_A' 를 소유
- 'USER_B' : 'TAB_A' 를 참조하는 view 'VW_B' 를 소유
- 'USER_C' : 'VW_B' 에 대한 권한을 받으려는 유저
위의 상황에서 아래와 같이 일반적 방식으로 권한을 주면 발생하는 에러.
grant select on USER_B.VIEW_B to USER_C;
=> ORA-01720 발생
아래와 같이 참조되는 테이블(TAB_A)을 뷰의 오너 인 USER_B 에게 with grant option 으로 권한을 먼저 줘야한다.
grant select on USER_A.TAB_A to USER_B with grant option;
grant select on USER_B.VIEW_B to USER_C;
문제는 해결될 수 있으나 프로그램의 복잡도가 증가하므로
A 소유 테이블로 B 소유 뷰가 만들어 지고, 이를 다시 C에게 권한을 주는 일이 없도록 가이드 하는 것이 중요.
반응형
'생계 > OERR' 카테고리의 다른 글
ora-2396 ora-0 (0) | 2022.03.16 |
---|---|
ORA-00257 archiver error 원인 및 조치 (0) | 2022.01.25 |
ORA-4023 에러 (0) | 2019.06.04 |
ORA-27086: unable to lock file - already in use (0) | 2018.11.02 |
oracle silent 설치 중 에러 ins-35344 stack size (0) | 2018.05.03 |