SQL Разработчик покажет вам объекты в C, которыми владеет C - не покажет вам вещи, к которым C имеет доступ.
Если вы хотите увидеть синонимы или объекты у вас есть SELECT privs, go для элемента Other Users, затем откройте элемент таблиц или синонимов в дереве.
Но вы их тоже НЕ видите, но знаете, что они есть?
Ну, вы знаете, что они есть, но база данных не хочет, чтобы вы знали. Мы запрашиваем представления ALL_, в которые встроена защита. Мы только показываем вам содержимое представлений ALL_.
Если бы вы были привилегированным пользователем, у вас был бы доступ к представлениям DBA_, и в этом случае вы увидите каждый объект в базе данных, и тогда ваши синонимы будут доступны.
Существует альтернатива, вы можете попросить SQL Разработчик обработать синонимы для таблиц AS таблиц в дереве
Мы Теперь мы не просто запрашиваем TABLE из ALL_OBJECTS, теперь мы также включаем SYNONYMS для любых таблиц.
Примечание: кому-то придется создавать SYNONYM в вашей схеме - это не будет тянуть TABLES для PUBLI C СИНОНИМЫ. Потому что… их тысячи, и никто не хочет видеть все это.
Итак, давайте сделаем быстрый сценарий
create user a identified by oracle;
create user b identified by oracle;
create user c identified by oracle;
create user d identified by oracle;
grant connect, resource to a,b,c,d;
grant dba to d;
create table a.test(a int);
grant select on a.test to b;
create synonym b.a_test for a.test;
A не сможет увидеть синоним B на объект в схеме А. Но D сможет - потому что у него есть доступ к представлениям DBA_ через эту роль DBA.
Просмотр через подключение D, просмотр других пользователей, B, Синонимы -

Если вы посмотрите журнал отчетов, то увидите список запросов, которые мы выдаем в словарь данных для перечисления объектов. D проходит через DBA_OBJECTS и DBA_SYNONYMS