Le viste DBA_* in Oracle contengono informazioni su TUTTI gli oggetti nel database indipendentemente dalla proprietà. Solo gli account amministrativi hanno accesso a queste viste per impostazione predefinita. Questo viene fatto per motivi di sicurezza. Affinché un utente "normale" ottenga l'accesso a queste viste, gli deve essere concesso l'accesso, direttamente in base alle viste o globalmente tramite privilegi di sistema come SELECT ANY TABLE (non consigliato). È meglio concedere l'accesso alla visualizzazione DBA_ effettiva di cui l'utente ha davvero bisogno. In genere, le viste ALL_ forniranno a un utente tipico tutte le informazioni di cui ha bisogno.
Per uscire dalla sessione utente corrente e connetterti come un altro utente, usa il comando CONNECT:
CONNECT sys/pw as sysdba
MODIFICA:
Il proprietario di un oggetto può concedere l'accesso a qualsiasi suo oggetto a un altro utente o ruolo tramite Comando GRANT:
GRANT SELECT ON dba_users TO nonsys;
Eseguito come utente SYS, questo concederebbe l'accesso selezionato alla vista dba_users all'utente nonsys.
Una volta eseguita la concessione, l'utente nonsys sarà in grado di selezionare da questa vista tramite l'istruzione SELECT:
SELECT * FROM dba_users;