Krótka informacja o prefiksie widoku słownika danych:
ALL_ -Describes PUBLIC Object grants.
USER_ -Describes current user Object grants.
DBA_ -Describes all object grants in the database.
Przydatne informacje o widokach:
ROLE_ROLE_PRIVS -describes the roles granted to other roles.
ROLE_SYS_PRIVS -describes system privileges granted to roles.
ROLE_TAB_PRIVS -describes table privileges granted to roles.
DBA_ROLE_PRIVS -describes the roles granted to all users and roles in the database.
DBA_SYS_PRIVS -describes system privileges granted to users and roles.
DBA_TAB_PRIVS -describes all object grants in the database.
DBA_COL_PRIVS -describes all column object grants in the database.
Aby dowiedzieć się więcej o PRIVS widoki odwiedź tutaj .
Zapytania:
-Informacje o stanie użytkownika/schematu
select username,account_status, created from dba_users where username in ('SCOTT');
-Sprawdź role przypisane do roli i schematu
select * from DBA_ROLE_PRIVS where grantee in ('SCOTT','RESOURCE');
-Sprawdź uprawnienia roli
select * from ROLE_ROLE_PRIVS where role in ('RESOURCE','CONNECT');
select * from ROLE_TAB_PRIVS where role in ('RESOURCE','CONNECT');
select * from ROLE_SYS_PRIVS where role in ('RESOURCE','CONNECT');
Pseudo Code:
select 'grant '||privilege||' to ROLE_SLAVE;' from ROLE_SYS_PRIVS where role in ('RESOURCE','CONNECT');
select 'grant '||privilege||' to ROLE_SLAVE;' from ROLE_TAB_PRIVS where role in ('RESOURCE','CONNECT');
-Sprawdź uprawnienia przyznanych obiektów dla schematu
select * from DBA_SYS_PRIVS where grantee in ('SCOTT');
select * from DBA_TAB_PRIVS where grantee in ('SCOTT');
select * from DBA_COL_PRIVS where grantee in ('SCOTT');
Pseudo Code:
select 'grant '||privilege||' to SCOTT_SLAVE;' from DBA_SYS_PRIVS where grantee in ('SCOTT');
select 'grant '||privilege||' on '||owner||'.'||table_name||' to SCOTT_SLAVE;' from DBA_TAB_PRIVS where grantee in ('SCOTT');
select 'grant '||privilege||' ('||column_name||') '||' on '||owner||'.'||table_name||' to SCOTT_SLAVE;' from DBA_COL_PRIVS where grantee in ('SCOTT');
Dziękuję!