Oracle - развертывание объектов в другой схеме - PullRequest
0 голосов
/ 31 октября 2019

Я удивлен, что не смог найти этот вопрос на сайте. Приносим извинения, если он окажется дубликатом!

В Oracle (10 и выше) возможно ли для USER_A развертывание объектов в схеме USER_B?

ДляНапример, если я вошел в систему как USER_B:

CREATE OR REPLACE PACKAGE user_a.my_example_pkg IS

   PROCEDURE Make_Log;
   PROCEDURE Init;

END user_a.my_example_pkg;

Я получаю ответ ORA-1031: insufficient privileges при развертывании.

Я знаю, что можно войти как USER_A развернуть пакет, и да, я могу это сделать. Но дело в том, что в моей базе данных кто-то изменил пакет «через схему» таким образом. И мне нужно выяснить, как они это сделали !!

Я вполне уверен, что привилегия существует, но я не могу найти, что это такое. Более того, если есть много привилегий, которые позволяют это сделать, было бы бонусом получить исчерпывающий список этих привилегий.

1 Ответ

1 голос
/ 31 октября 2019

Вы хотели бы искать привилегии ANY

  • CREATE PROCEDURE, позволяющие создавать процедуры в вашей схеме. CREATE ANY PROCEDURE позволяет создавать процедуры в любой схеме.
  • CREATE TABLE позволяет создавать таблицы в вашей схеме. CREATE ANY TABLE позволяет создавать таблицы в любой схеме.
  • CREATE VIEW позволяет создавать представления в вашей схеме. CREATE ANY VIEW позволяет создавать представления в любой схеме.

Для любой из привилегий CREATE существует соответствующая привилегия CREATE ANY. Эти ANY привилегии являются чрезвычайно мощными и действительно не должны предоставляться кому-либо, кроме администратора баз данных, поскольку это позволит вам делать такие вещи, как создание процедур, принадлежащих пользователям с высоким уровнем привилегий, которые могут делать все, что может администратор базы данныхделаем.

...