Oracle
 sql >> Base de données >  >> RDS >> Oracle

rassembler les informations dba_users dans la base de données Oracle lorsqu'il est connecté en tant qu'utilisateur

Les vues DBA_* dans Oracle contiennent des informations sur TOUS les objets de la base de données, quel que soit leur propriétaire. Seuls les comptes administratifs ont accès à ces vues par défaut. Ceci est fait pour des raisons de sécurité. Pour qu'un utilisateur "normal" ait accès à ces vues, il doit y avoir accès, soit directement vue par vue, soit globalement via des privilèges système tels que SELECT ANY TABLE (non recommandé). Mieux vaut accorder l'accès à la vue DBA_ réelle dont l'utilisateur a vraiment besoin. Généralement, les vues ALL_ donneront à un utilisateur typique toutes les informations dont il a besoin.

Pour quitter la session utilisateur en cours et vous connecter en tant qu'autre utilisateur, utilisez la commande CONNECT :

CONNECT sys/pw as sysdba

MODIFIER :

Le propriétaire d'un objet peut accorder l'accès à n'importe lequel de ses objets à un autre utilisateur ou rôle via le Commande GRANT :

GRANT SELECT ON dba_users TO nonsys;

Effectué en tant qu'utilisateur SYS, cela accorderait un accès select à la vue dba_users à l'utilisateur nonsys.

Une fois l'octroi effectué, l'utilisateur nonsys pourra sélectionner dans cette vue via l'instruction SELECT :

SELECT * FROM dba_users;