(Oracle) При открытии представления говорит, что недостаточно прав - PullRequest
0 голосов
/ 09 июля 2019

Три дня назад я создал другого пользователя, ничего страшного.Теперь я создаю другого пользователя, не работающего.Я не знаю, что я пропустил.

На этот раз я сделал:

CREATE USER TESTDB identified by N2dTlOBFRZ9x;
GRANT CONNECT, RESOURCE TO TESTDB;
GRANT CREATE SESSION TO TESTDB;
GRANT UNLIMITED TABLESPACE TO TESTDB;
GRANT CREATE TABLE to TESTDB;
GRANT CREATE VIEW to TESTDB;

Я могу создать представление с именем viewTest и сохранить его.

TESTDB viewTest

select * from PRODDB.employee  

Затем откройте viewTest, он говорит о недостаточных привилегиях.


У меня есть другой пользователь.давайте назовем это PRODDB.Это онлайн-база данных
Пользователь, которого я создал 3 дня назад, - OKDB.
Сегодня я создал друг друга, TESTDB.

В OKDB я создал представление (viewTest) и могу его открыть.
select * from PRODDB.employee;

Но в TESTDB не открывается.

1 Ответ

0 голосов
/ 09 июля 2019

Спасибо за обновление! Я считаю, что это проблема с разрешениями.

В OKDB я создал вид и могу его открыть. выбрать из PRODDB.employee;

Но в TESTDB не открывается.

Итак, в этом примере три пользователя: 1. PRODDB, 2. OKDB и 3. TESTDB.

Представление называется Employee и было создано по схеме PRODDB; PRODDB.EMPLOYEE.

Если OKDB может запросить PRODDB.EMPLOYEE, одна из двух вещей должна быть истинной. Либо: 1. OKDB были предоставлены привилегии для PRODDB.EMPLOYEE напрямую (например, grant select on PRODDB.EMPLOYEE to OKDB;), или 2. OKDB имеет повышенные привилегии благодаря роли, которая позволяет пользователю запрашивать это представление (например, grant DBA to OKDB, что позволит OKDB запрашивать любую таблицу в базе данных.)

Если TESTDB не может запросить представление, я бы поспорил, что необходимые привилегии не были предоставлены пользователю. Чтобы исправить это, я бы порекомендовал проверить привилегии и роли, которые были предоставлены пользователю OKDB, а затем предоставить те же привилегии для TESTDB. Если это связано с работой, вам, возможно, придется работать с другим администратором базы данных, если у вас нет разрешения на выдачу грантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...