Представления DBA_ * в Oracle содержат информацию обо ВСЕХ объектах в базе данных независимо от владельца. Только административные учетные записи имеют доступ к этим представлениям по умолчанию. Это сделано из соображений безопасности. Чтобы «нормальный» пользователь мог получить доступ к этим представлениям, им должен быть предоставлен доступ к ним, либо непосредственно для каждого представления, либо глобально через такие системные привилегии, как SELECT ANY TABLE (не рекомендуется). Лучше предоставить доступ к фактическому представлению DBA_, которое действительно нужно пользователю. Как правило, представления ALL_ предоставляют обычному пользователю всю необходимую ему информацию.
Чтобы выйти из текущего сеанса пользователя и подключиться как другой пользователь, используйте команду CONNECT:
CONNECT sys/pw as sysdba
EDIT:
Владелец объекта может предоставить доступ к любому из своих объектов другому пользователю или роли с помощью команды GRANT:
GRANT SELECT ON dba_users TO nonsys;
Выполняется как пользователь SYS, это предоставит пользователю select доступ к представлению dba_users для пользователя nonsys.
Как только грант будет выполнен, пользователь nonsys сможет выбрать из этого представления с помощью инструкции SELECT:
SELECT * FROM dba_users;