[문제1]
- 뷰 또는 프로시져, 트리거 등을 생성하려 할때 권한이 충분하지 않다는 오류가 발생
[문제1] 해결1 : View Select 권한부여
grant create any view to 유저 :
.. 난 안됐다.
[문제1] 해결2 : Sysdba 접속 후 View Select 권한부여
sqlplus로 sysdba 로 접속 후,
create view 할 때 select 해오는 테이블의 select 권한을 준다.
grant select, insert, update, delete on 원본유저,테이블 to view를 생성할 유저;
난 Sysdba 접속 권한이 없어서 이것두 안댐
- View 테이블 정의 : 여러 테이블의 조합값을 보여주기 위한 테이블
[문제2]
- view 를 다시 view 로 생성할때 권한이 충분하지 않다는 오류가 발생
- 만든 View 테이블 스키마 내에서만 쓰면 상관이 없는데 다른 스키마에서 사용할려면 종종 ORA-01720 이런 에러가 뜬다.
- 예를 들어, A스키마에 A1 View 테이블을 만든 뒤에 A1 을 B스키마에서 참조해서 B1이란 View를 만든뒤에 또 이 B1을 다시 C스키마에서 참조해서 쓰는 경우이다.
[문제2] 해결1 : View Select 권한부여
스키마가 다른 스키마의 테이블을 참조할때 일반적으로 쓰는 권한 설정은 이렇다
GRANT SELECT ON A.A1 TO B;
하지만, 아래 권한 부여는 실행되지 않는다.
GRANT SELECT ON B.B1 TO C;
왜냐면 이렇게 되면 스키마 A의 A1은 스키마 C에게 권한을 설정 안해줬기 때문이다. 이럴때는 재부여를 해줘야 한다.
따라서 아래처럼 처음에 권한 설정시 WITH GRANT OPTION을 추가해주면 재부여가 된다.
GRANT SELECT ON A.A1 TO B WITH GRANT OPTION;