2012-05-23 4 views
0

오라클에서 'MyTable'테이블은 'User1'이 소유하고 있습니다. 어떻게 'User2'와 같은 다른 사용자에게 테이블 액세스 권한을 부여 할 수 있습니까?오라클이 테이블 권한을 할당합니다

SQL 서버에는 애플리케이션 액세스 권한이 있습니다. 오라클에 무언가가 있습니까?

당신은 사용자에게 SELECT 권한 (또는 INSERT, UPDATE, DELETEREFERENCES 같은 몇 가지 다른)를 부여 할 수 있습니다

답변

2

GRANT SELECT 
    ON user1.MyTable 
    TO user2 

그것은 권한을 부여하는 역할을 생성하지만,보다 일반적인 것 역할에, 그리고 쉽게 미래에 더 많은 사용자와 ENS에 하나의 역할을 부여 할 수 있습니다 사용자가 필요 어떤에 역할, 즉

CREATE ROLE user1_select; 

GRANT SELECT 
    ON user1.MyTable 
    TO user1_select; 

GRANT user1_select 
    TO user2; 

을 부여 특정 작업 기능을 가진 모든 사용자가 모든 사람에게 정확히 동일한 개체 세트에 대한 액세스 권한을 부여했는지 확인하는 대신 동일한 역할 세트를 사용하는지 확인하십시오.

+0

테이블에 대한 사용자 권한을 표시하는 쿼리를 제공 할 수 있습니까? – user595234

+0

@ user595234 -'dba_tab_privs' (또는 권한에 따라'all_tab_privs' 또는'user_tab_privs' 또는 관심있는 테이블에 따라) 사용자가 테이블에 어떤 권한을 가지고 있는지 보여줍니다. 'role_tab_privs'는 롤이 테이블에 어떤 권한이 있는지 보여줍니다. 역할에 역할을 부여 할 수 있으므로 기본 또는 기본이 아닌 역할을 사용자에게 부여 할 수 있고 역할을 암호로 보호 할 수 있습니다. 역할을 통해 사용자가 어떤 테이블에 액세스 할 수 있는지 알아내는 것은 다소 어려울 수 있습니다. 어떤 가정을 단순화하지 않는 한 어떤 상황. –

관련 문제