Новое в сферах. Я установил базу данных Oracle и создал пользователя (USER1). Пытаясь предоставить ему разрешения, я получаю эту ошибку.

SQL> GRANT ALTER SESSION TO USER1;
GRANT ALTER SESSION TO USER1
*
ERROR at line 1:
ORA-47410: Realm violation for GRANT on ALTER SESSION

Когда я пробую предложенное решение, я получаю то же самое.

SQL> BEGIN
    DVSYS.DBMS_MACADM.CREATE_REALM(
  2    3      realm_name => 'Test_Realm',
  4      description => 'Test',
  5      enabled => DBMS_MACUTL.G_YES,
  6      audit_options => 0);
  7      END;
  8      /

PL/SQL procedure successfully completed.


SQL> BEGIN
    DVSYS.DBMS_MACADM.ADD_OBJECT_TO_REALM(
  2    3      realm_name => 'Test_Realm',
  4      object_owner => 'RAYMONDO',
  5      object_name => 'RAYMONDO',
  6      object_type => 'ROLE');
  7      END;
  8
/  9

PL/SQL procedure successfully completed.

SQL> BEGIN
          DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  2    3            REALM_NAME => 'Test_Realm',
  4            GRANTEE => 'RAYMONDO',
  5            AUTH_OPTIONS => DVSYS.DBMS_MACUTL.G_REALM_AUTH_OWNER);
  6          END;
  7      /

PL/SQL procedure successfully completed.

SQL> GRANT ALTER SESSION TO RAYMONDO;
GRANT ALTER SESSION TO RAYMONDO
*
ERROR at line 1:
ORA-47410: Realm violation for GRANT on ALTER SESSION

Так что не уверен, что нужно

-1
lollyz_2019 21 Ноя 2019 в 16:54

1 ответ

Database Vault включен в базе данных.

table, schema владелец таблицы и роль, которой предоставляется привилегия, были добавлены в ту же область, которая защищает таблицу.

Чтобы решить этот шаг, попробуйте временно добавить пользователя USER1 в область 'Test_Realm':

    BEGIN
        DVSYS.DBMS_MACADM.CREATE_REALM(
        realm_name => 'Test_Realm',
        description => 'Test',
        enabled => DBMS_MACUTL.G_YES,
        audit_options => DBMS_MACUTL.G_REALM_AUDIT_FAIL +
DBMS_MACUTL.G_REALM_AUDIT_SUCCESS);
        END;
        /


        BEGIN
        DVSYS.DBMS_MACADM.ADD_OBJECT_TO_REALM(
        realm_name => 'Test_Realm',
        object_owner => 'RAYMONDO',
        object_name => '%',
        object_type => 'ROLE');
        END;

    /

    BEGIN
              DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
              REALM_NAME => 'Test_Realm',
              GRANTEE => 'USER1',
              AUTH_OPTIONS => DVSYS.DBMS_MACUTL.G_REALM_AUTH_OWNER);
            END;
        /

После этого попробуйте выполнить команду Grant:

SQL> GRANT ALTER SESSION TO USER1;

Как только ваша работа будет завершена, revoke временно предоставленный доступ:

revoke alter session from USER1;



BEGIN
  DVSYS.DBMS_MACADM.DELETE_AUTH_FROM_REALM(
  REALM_NAME => 'Test_Realm',
  GRANTEE => 'USER1');
END;
/
0
Andrew 21 Ноя 2019 в 18:07
Та же ошибка после того, как я попробовал это ........ SQL> BEGIN DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM (2 3 REALM_NAME => 'Database Vault Account Management', 4 GRANTEE => 'RAYMONDO', 5 AUTH_OPTIONS => DVSYS.DBMS_MACUTL .G_REALM_AUTH_OWNER); 6 КОНЕЦ; 7 / PL / SQL процедура успешно завершена. SQL> предоставить подключение, ресурс к RAYMONDO; предоставить соединение, ресурс для RAYMONDO * ERROR в строке 1:
 – 
lollyz_2019
21 Ноя 2019 в 17:16
Я отредактировал свой ответ ..... попробуйте запустить операторы начала последовательно ... во втором операторе запуска обновите сведения XXX с вашими
 – 
Andrew
21 Ноя 2019 в 17:33
НАЧАТЬ DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM (realm_name => 'Test_Realm', grantee => 'RAYMONDO', auth_options => DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT; END;
 – 
Andrew
21 Ноя 2019 в 17:58
Это странно ... попробуйте начать, снова запустите свой статус гранта и дайте мне знать
 – 
Andrew
21 Ноя 2019 в 17:58
НАЧАТЬ DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM (2 3 realm_name => 'Test_Realm', 4 грантополучателя => 'RAYMONDO', 5 auth_options => DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT); 6 КОНЕЦ; 7 / BEGIN * ERROR в строке 1: ORA-47260: Авторизация области в Test_Realm для области RAYMONDO уже определена ORA-06512: в "DVSYS.DBMS_MACADM", строка 1903 ORA-06512: в "DVSYS.DBMS_MACADM", строка 1968 ORA- 06512: в "DVSYS.DBMS_MACADM", строка 1983 ORA-06512: в строке 2
 – 
lollyz_2019
21 Ноя 2019 в 18:06