>>김규태 님께서 쓰시길<<
::
:: >>김하늘 님께서 쓰시길<<
::
:: :: 1)
:: :: create user sam identified by sam;
:: :: create role sample;
:: :: grant create table to sample;
:: :: grant select any table to sample;
:: :: grant insert any table to sample;
:: :: grant update any table to sample;
:: :: grant sample1 to samp;
:: ::
:: :: 이런식으로 해서 select,update,insert,create는 가능하게 하고
:: :: delete만 불가능하게 하는 권한을 설정하려 하는데 되지를 않읍니다.
:: :: (테이블 생성을 할수가 없읍니다)
::
:: 당연히 안될 것입니다.
:: 테이블을 만들려는 권한 이외에도 어떤 테이블스페이스에 얼마정도의
:: 공간만큼 만들수 있는지에 대한 권한을 주어야 합니다.
::
:: 님처럼 무한한 권한을 sam 유저에게 주고 싶으면
:: grant unlimited tablespace to sam ;
::
:: 또는 특정 테이블스페이스에만 권한을 주고 싶으면
:: create user sam identified by sam
:: default tablespace users
:: temporary tablespace temp
:: quota unlimited on users
:: quota unlimited on xxxx ;
:: 또는
:: alter user sam
:: quota unlimited on users
:: quota unlimited on xxxx ;
::
::
:: :: 2) 기존의 connect 라는 role를 변경하여 사용하려는데 이경우도
:: :: drop table 처리를 불가능하게는 안됩니다
:: :: (drop table table명이 가능합니다)
:: ::
::
:: 자기 테이블은 당연히 모든 권한이 자기 자신에게 있습니다.
:: 당연히 자기 테이블은 자기가 drop 가능하겠죠?
:: ( 사실 테스트해보지 않아서 잘 모름 )
::
:: 보통 테이블등을 만드는 유저와 데이타를 조작하는 유저는
:: 분리합니다. 하고자 하시는 것처럼 함부로 schema를 조작할 수
:: 없게 하여 구조를 보호할 수 있지요.
:: 보통 명시적으로 테이블에 select,update,delete,insert 권한만
:: role을 통하여 필요한 다른 유저에게 권한을 부여합니다.
>> 우선 김규태님 답변에 감사드립니다..........^_^
테이블등을 만드는 유저와 데이타를 조작하는 유저를 분리하면 어떻게 데이타를
조작하는 유저에게 권한을 주죠??(제가 초보라서...) role을 쓴다던가 또는
꽤 많은 양의 table을 일일이 조작하는 유저에게 권한을 부여하여 줘야 된다는
말씀이십니까... 혹시 다른 방법은없나요..........^_^
|