> 유저생성시 테이블스페이스 생성은 아는데요. 분할기능을 이용할때 한 사용자가 어려 테이블스페이스
> 에 걸쳐있어야하기때문에 이에 대한 권한을 어떻게 설정하냐는 질문이었습니다. 하나의 테이블이 여러
> 테이블스페이스에 걸려있기때문에 특정한 사용자가 그 모든 테이블스페이스에 대한 쓰기 권한이 있어야
> 하는데 이걸 잘 몰라서요.
유저가 여러 테이블스페이스에 대해서 쓰기 권한( quota ? )이 있으면
되지 않나요?
권한만 있으면 마찬가지로 파티션 테이블을 만들수 있을테고요.
파티션 테이블을 만들때,
1. 모든 테이블스페이스가 몇개 인지는 모르지만 만약
고정되어 있는 경우라면 alter user로 권한을 주시고,
alter user scott
quota unlimited on tablespace_1
quota unlimited on tablespace_2
quota unlimited on tablespace_3
quota unlimited on tablespace_4
quota unlimited on tablespace_5
;
(scott 유저는 tablespace_1,2,3,4,5를 사용할 권한이 추가됨)
2. 다이내믹하게 변하고, 프로그램에서 동적으로 테이블이 관리된다면
시스템 권한을 부여하세요.
grant unlimited tablespace to scott;
(scott 유저는 모든 테이블스페이스를 사용할 권한이 생김.
모든이므로 당연히 앞으로 생성되는 테이블스페이도 사용할 권한이 있슴.
막강한 권한이므로 당연히 이런 유저는 보안 관리가 철저해야 됨.)
테이블을 만든 owner는 테이블스페이스에 대해서 quota 를 받아야 만들 수
있지만 데이타를 조작하는 유저( 응용프로그램이 접속할 때 사용되는 유저) 는
보통 owner에게서 select,update,delete,insert 권한만을 부여받아도 되지요.
제가 질문을 이해하지 못하고 자꾸 엉뚱한 대답만 하는 것 같아서 죄송하네여.
|