Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2) / 8 сообщений из 8, страница 1 из 1
27.11.2019, 20:44
    #39895257
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Connected to Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 
Connected as u99

SQL> SELECT * FROM all_objects t WHERE t.owner = 'U99' AND t.object_name = 'PROC_01' ORDER BY 2;

OWNER     OBJECT_NAME     SUBOBJECT_NAME OBJECT_TYPE  CREATED    STATUS  TEMPORARY GENERATED SECONDARY  NAMESPACE EDITION_NAME SHARING EDITIONABLE ORACLE_MAINTAINED APPLICATION DEFAULT_COLLATION DUPLICATED SHARDED
--------- --------------- -------------- ------------ ---------- ------- --------- --------- --------- ---------- ------------ ------- ----------- ----------------- ----------- ----------------- ---------- -------
U99       PROC_01                        PROCEDURE    15.11.2019 VALID   N         N         N                  1              NONE    N           N                 N           USING_NLS_COMP    N          N      

SQL> SELECT * FROM dba_role_privs WHERE grantee = 'U99';

GRANTEE     GRANTED_ROLE     ADMIN_OPTION DELEGATE_OPTION DEFAULT_ROLE COMMON INHERITED
----------- ---------------- ------------ --------------- ------------ ------ ---------
U99         RL_QuoTe         YES          NO              NO           NO     NO
U99         DBA              NO           NO              YES          NO     NO

SQL> GRANT "RL_QuoTe" TO PROCEDURE "U99"."PROC_01";

GRANT "RL_QuoTe" TO PROCEDURE "U99"."PROC_01"

ORA-01924: роль 'RL_QuoTe' не разрешена или не существует

SQL> 


Как это понимать?
...
Рейтинг: 0 / 0
27.11.2019, 21:03
    #39895262
Oleg M.Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася,
Тут видится проблема с написанием. Правильная роль должна быть в верхнем регистре, а если она создавалась в смешанном регистре в кавычках, то у оракла могло где-то и башню снести от этого.
...
Рейтинг: 0 / 0
27.11.2019, 21:34
    #39895267
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася
Код: plsql
1.
...роль 'RL_QuoTe' не разрешена...

Как это понимать?
А какие варианты?
...
Рейтинг: 0 / 0
28.11.2019, 07:32
    #39895336
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася
Как это понимать?
Чтобы красть концепции, нужно хотя бы уметь читать документацию.
RTFMand error ORA-1924: role 'string' not granted or does not exist is raised if the second and third conditions are not met.
...
Рейтинг: 0 / 0
29.11.2019, 01:55
    #39896010
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Elicнужно хотя бы уметь читать документациюПрежде чем отвечать на вопрос, нужно хотя бы уметь его понять.


Теперь цитирую 2 и 3 указанные условия:If the grantor owns the program unit, then the grantor must have the GRANT ANY ROLE system privilege, or have the ADMIN or DELEGATE option for the roles that they want to grant to program units.

The roles to be granted are directly granted roles to the owner.
Как видно из первого поста, они выполняются.
...
Рейтинг: 0 / 0
29.11.2019, 07:02
    #39896034
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася
Как видно из первого поста
Ты скрыл команду создания роли, но из селекта видно default_role=NO. А значит эта роль не может просто включиться при входе в процедуру, требуется соблюдение определенных условий.
...
Рейтинг: 0 / 0
29.11.2019, 07:21
    #39896036
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася
Теперь цитирую 2 и 3 указанные условия
Ну и при тестировании документации нужно быть повъедливееCBACThese conditions are as follows:
  • The grantor is user SYS or owns the program unit.
  • If the grantor owns the program unit, then the grantor must have the GRANT ANY ROLE system privilege, or have the ADMIN or DELEGATE option for the roles that they want to grant to program units.
  • The roles to be granted are directly granted roles to the owner.
  • The roles to be granted are standard database roles.
If these three conditions are not met, then error ORA-28702: Program unit string is not owned by the grantor is raised if the first condition is not met, and error ORA-1924: role 'string' not granted or does not exist is raised if the second and third conditions are not met. Поскольку приписка к кондициям "три", а пунктов четыре, а также сравнивая с пунктами текст другой ora-, можно предположить, что некий редактор непоправимо улучшил список этих кондиций, не меняя приписки.
...
Рейтинг: 0 / 0
29.11.2019, 07:41
    #39896042
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2)
Правильный Вася
Elicнужно хотя бы уметь читать документацию
Прежде чем отвечать на вопрос, нужно хотя бы уметь его понять.Переписыватели, доку нужно читать и интерпретировать до того, как вас в неё макнули.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не могу загрантить роль, хотя сам ее создал и имею DBA права (12.2) / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]