powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DBMS_UTILITY.COMPILE_SCHEMA права пользователя
4 сообщений из 4, страница 1 из 1
DBMS_UTILITY.COMPILE_SCHEMA права пользователя
    #39278957
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В БД есть юзер USER1, у которого один единственный грант SELECT ANY TABLE;

В PUBLIC есть грант на EXECUTE пакета DBMS_UTILITY.

Есть второй юзер USER2, у которого есть пачка синонимов в своей схеме.

Почему под USER1 даёт выполнить операцию:

BEGIN
DBMS_UTILITY.COMPILE_SCHEMA('USER2');
END;

хотя если просто пытаться перекомпилировать какой-то синоним второго юзера - корректно ругается?

DBMS_UTILITY жеж должен с правами "invoker-а" работать, нэ?

--------------------------------------------------------------
Запомните, товарищи офицеры, чтобы ничего не делать, надо уметь делать все.
...
Рейтинг: 0 / 0
DBMS_UTILITY.COMPILE_SCHEMA права пользователя
    #39278975
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoDBMS_UTILITY жеж должен с правами "invoker-а" работать, нэ?


А проверить?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
select procedure_name,authid from dba_procedures where object_name = 'DBMS_UTILITY'
/

PROCEDURE_NAME                 AUTHID
------------------------------ ------------
ACTIVE_INSTANCES               DEFINER
ANALYZE_DATABASE               DEFINER
ANALYZE_PART_OBJECT            DEFINER
ANALYZE_SCHEMA                 DEFINER
CANONICALIZE                   DEFINER
COMMA_TO_TABLE                 DEFINER
COMMA_TO_TABLE                 DEFINER
COMPILE_SCHEMA                 DEFINER
CREATE_ALTER_TYPE_ERROR_TABLE  DEFINER
CURRENT_INSTANCE               DEFINER
DATA_BLOCK_ADDRESS_BLOCK       DEFINER

PROCEDURE_NAME                 AUTHID
------------------------------ ------------
DATA_BLOCK_ADDRESS_FILE        DEFINER
DB_VERSION                     DEFINER
EXEC_DDL_STATEMENT             DEFINER
EXPAND_SQL_TEXT                DEFINER
FORMAT_CALL_STACK              DEFINER
FORMAT_ERROR_BACKTRACE         DEFINER
FORMAT_ERROR_STACK             DEFINER
GET_CPU_TIME                   DEFINER
GET_DEPENDENCY                 DEFINER
GET_ENDIANNESS                 DEFINER
GET_HASH_VALUE                 DEFINER

PROCEDURE_NAME                 AUTHID
------------------------------ ------------
GET_PARAMETER_VALUE            DEFINER
GET_SQL_HASH                   DEFINER
GET_TIME                       DEFINER
GET_TZ_TRANSITIONS             DEFINER
INVALIDATE                     DEFINER
IS_BIT_SET                     DEFINER
IS_CLUSTER_DATABASE            DEFINER
MAKE_DATA_BLOCK_ADDRESS        DEFINER
NAME_RESOLVE                   DEFINER
NAME_TOKENIZE                  DEFINER
OLD_CURRENT_SCHEMA             DEFINER

PROCEDURE_NAME                 AUTHID
------------------------------ ------------
OLD_CURRENT_USER               DEFINER
PORT_STRING                    DEFINER
SQLID_TO_SQLHASH               DEFINER
TABLE_TO_COMMA                 DEFINER
TABLE_TO_COMMA                 DEFINER
VALIDATE                       DEFINER
VALIDATE                       DEFINER
WAIT_ON_PENDING_DML            DEFINER
                               DEFINER


43 rows selected.

SQL> 



SY.
...
Рейтинг: 0 / 0
DBMS_UTILITY.COMPILE_SCHEMA права пользователя
    #39278979
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, и правда. Хотя из прочтения документации я понял обратное.
Странно канеш. Получается если у паблика есть в грантах это тпакет, то любой может инвалидировать состояние любого объекта в чужой схеме.
...
Рейтинг: 0 / 0
DBMS_UTILITY.COMPILE_SCHEMA права пользователя
    #39278990
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoПолучается если у паблика есть в грантах это тпакет, то любой может инвалидировать состояние любого объекта в чужой схеме.

Нет. Отгребешь:

ORA-24237: object id argument passed to DBMS_UTILITY.INVALIDATE is not legal

SY.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DBMS_UTILITY.COMPILE_SCHEMA права пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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