web-dev-qa-db-fra.com

Accorder le privilège sur SCHEMA

J'ai deux SCHEMA dans une base de données (ABC, XYZ)

Maintenant, je veux créer un test utilisateur et accorder le privilège de sélection uniquement sur SCHEMA (XYZ)

Je sais comment accorder des privilèges à un utilisateur, mais je ne sais pas comment accorder des privilèges sur un SCHEMA spécifique?

3
Rahman Gurbaz

Ce n'est pas possible, la base de données ne prend pas en charge ces subventions. Vous pouvez accorder les privilèges requis sur chaque objet individuellement dans le schéma.

Par exemple:

begin
  for o in (select * from dba_tables where owner = 'XYZ')
  loop
    execute immediate 'grant read on "' || o.owner || '"."' || o.table_name || '" to ABC';
  end loop;
end;
/

Il est préférable de créer un rôle, d'accorder ce rôle à l'autre utilisateur et de conserver les octrois au rôle lorsque vous créez de nouveaux objets.

enter image description here

grant_system_privileges :: =

enter image description here

grant_object_privileges :: =

enter image description here

on_object_clause :: =

enter image description here

3
Balazs Papp