Какую привилегию Oracle нужно предоставить роли, чтобы она позволяла пользователям видеть таблицы в схеме Oracle SQL Developer - PullRequest
0 голосов
/ 12 ноября 2018

Используя Oracle 12c, у меня есть роль, которую я предоставил базовым операциям CRUD для использования Oracle SQL Developer. Проблема в том, что пользователи группы не могут видеть список таблиц в Oracle SQL Developer. Все, что они видят, - это ветвь, в которой показан узел таблиц, но нет знака плюса для расширения и просмотра таблиц для одной схемы, с которой они должны работать. Какие другие привилегии необходимо предоставить группе, чтобы они могли видеть все узлы таблицы для своей схемы при использовании Oracle SQL Developer? Заранее спасибо.

1 Ответ

0 голосов
/ 12 ноября 2018

Если я вас правильно понял, вы

  • создал роль
  • предоставил определенные привилегии этой роли
  • создал группу пользователей
  • предоставленная роль (с шага 1) этим пользователям

но они все еще ничего не видят.

Если это так, они ничего не увидят, независимо от того, что вы предоставляете, - потому что у них нет этих объектов в их схемах.

То, что вы (или они) должны / могли бы сделать, это предварять имя таблицы именем владельца при выборе данных из этих таблиц. Предположим, что есть таблица с именем EMPLOYEE, и ваши пользователи хотят выбрать из нее данные - они должны запустить select * from robertcode.employee (при условии, что пользователь robertcode владеет этой таблицей)

Хотя это работает , пользователи не будут счастливы, потому что они не знают имен таблиц. Поэтому создайте сценарий, который они будут запускать в своих схемах - этот сценарий создаст синонимов для ваших таблиц.

Для этого напишите запрос, который создаст запрос:

SQL> select 'create synonym ' || table_name || ' for ' || table_name ||';'
  2  from user_tables;

'CREATESYNONYM'||TABLE_NAME||'FOR'||TABLE_NAME||';'
--------------------------------------------------------------------------------
create synonym EMP for EMP;
create synonym BONUS for BONUS;
create synonym SALGRADE for SALGRADE;
create synonym DEPT for DEPT;

Скопируйте / вставьте все эти операторы create synonym ... в сообщение электронной почты и позвольте им создавать синонимы для себя.

Они все равно ничего не увидят под узлом Таблицы (потому что у этих пользователей нет таблиц (пока они не создадут их в своей собственной схеме), но они увидят что-то в Синонимах .

...