从Oracle架构中撤消创建类型

时间:2011-08-04 10:49:48

标签: oracle

我试图阻止人们在架构中创建类型。

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 个答案:

答案 0 :(得分:4)

revoke仅在权限已被grant编辑时才有效。这里可能的是colin通过已分配给用户的角色获得特权。

您实际上并不想从该角色中删除该权限,因为它会影响具有该角色的任何用户;相反,如果您不希望他们这样做,则需要为这些用户提供不具有create any type的不同角色(最简单的方法是通过企业管理器)。