powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
4 сообщений из 4, страница 1 из 1
Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
    #40069316
Андрей Климов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Не подскажете плиз, какой привилегии достаточно, чтобы выполнять
dbms_aqadm.purge_queue_table в другой схеме?

Конкретнее,
имеется база Oracle 12.2 EE под Linux. В девелоперской схеме определена callback - процедура на PL/SQL, которая отрабатывает в момент помещения сообщений в очередь в этой схеме. К несчастью (или к счастью) этот механизм транзитом гонит сообщения через Оракловую встроенную очередь SYS.AQ_SRVNTFN_TABLE_Q . В ней иногда оседает куча ненужных уже сообщений.
Достаточно ли будет выполнить

Код: plsql
1.
2.
3.
4.
5.
6.
 begin 
  dbms_aqadm.grant_queue_privilege
   (privilege => 'DEQUEUE',
    grantee => '<имя девелоперской схемы>',
    queue_name => 'SYS.AQ_SRVNTFN_TABLE_Q');
end;


чтобы отрабатывал dbms_aqadm.purge_queue_table из-под девелоперской схемы?
...
Рейтинг: 0 / 0
Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
    #40069634
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей КлимовНе подскажете плиз, какой привилегии достаточно, чтобы выполнять
dbms_aqadm.purge_queue_table в другой схеме?
https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_AQADM.html#GUID-4C5364E5-DD93-4E56-9587-65EE5D0FB324
авторThe MANAGE_ANY AQ system privilege is used to create and manage queues in other schemas and can be granted and revoked through DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE and DBMS_AQADM.REVOKE_SYSTEM_PRIVILEGE respectively. Starting from Oracle Database 12c Release 2, MANAGE_ANY privilege will not allow access to SYS owned queues by users other than SYS.
...
Рейтинг: 0 / 0
Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
    #40070054
Андрей Климов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeaGate

https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_AQADM.html#GUID-4C5364E5-DD93-4E56-9587-65EE5D0FB324
авторThe MANAGE_ANY AQ system privilege is used to create and manage queues in other schemas and can be granted and revoked through DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE and DBMS_AQADM.REVOKE_SYSTEM_PRIVILEGE respectively. Starting from Oracle Database 12c Release 2, MANAGE_ANY privilege will not allow access to SYS owned queues by users other than SYS.


засада...
...
Рейтинг: 0 / 0
Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
    #40070075
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Климов
засада...

Вообще это общее оракельское правило.
Для того, чтобы рулить объектами чужой схемы, требуется подходящая системная "ANY-привилегия".
По другому - разве что в сочетании со средствами FGAC или разместив в интересующей схеме "засланца".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Advanced queueing - какой привилегии достаточно, чтобы чистить очередь в чужой схеме?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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