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;