Отмена создания типа из схемы Oracle - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь остановить людей, создающих типы в схеме.

colin @ colindev >create or replace type colin_obj as object(
  2    id varchar2(20)
  3  );
  4  /

Type created.

Как мне это остановить?

Я пытался

SYS @ colindev >revoke create any type from colin;
revoke create any type from colin
*
ERROR at line 1:
ORA-01952: system privileges not granted to 'colin'

и то же самое в системе вместо sys.

Есть идеи?

1 Ответ

4 голосов
/ 04 августа 2011

revoke работает, только если привилегия уже была grant ed. Здесь вероятно, что colin имеет привилегию через роль, назначенную пользователю.

Вы действительно не хотите удалять эту привилегию из роли, поскольку это повлияет на любого пользователя с этой ролью; вместо этого вам нужно дать этим пользователям другую роль, у которой нет create any type, если вы не хотите, чтобы они это делали (самый простой способ сделать это - через Enterprise Manager).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...