Oracle11g &引用;“没有特权”;使用组织索引创建表时

Oracle11g &引用;“没有特权”;使用组织索引创建表时,oracle11g,schema,create-table,privileges,tablespace,Oracle11g,Schema,Create Table,Privileges,Tablespace,我运行的是Oracle11.g,我使用的id具有DBA角色(假定是完全访问) 当我尝试在另一个模式下创建一个表时,它工作得很好。然而,当我试图创建一个带有组织索引的表时,我得到了提示 ORA-01950: no privileges on tablespace 我仔细检查了我的id是否有无限的表空间。我的ID和目标架构都在同一个表空间中 补充信息:我能够在我自己的模式下运行相同的creat table语句w/组织索引。我授予了目标schedma无限表空间并解决了它。创建对象可能需要两个权限:您

我运行的是Oracle11.g,我使用的id具有DBA角色(假定是完全访问)

当我尝试在另一个模式下创建一个表时,它工作得很好。然而,当我试图创建一个带有组织索引的表时,我得到了提示

ORA-01950: no privileges on tablespace
我仔细检查了我的id是否有无限的表空间。我的ID和目标架构都在同一个表空间中


补充信息:我能够在我自己的模式下运行相同的creat table语句w/组织索引。

我授予了目标schedma无限表空间并解决了它。

创建对象可能需要两个权限:您的用户需要创建对象的权限,模式所有者需要特权才能使用与该对象相关的资源。因此,虽然您可以在另一个模式中创建表,但该模式还需要将数据写入相关表空间的权限:

alter user $username quota unlimited on $tablespace;

这种方法比授予
无限表空间
角色更安全。该角色授予的权限超出了必要的权限,如果以后有人试图清除权限,取消该角色也会撤消个人权限,如中所述。

您可能只想通过
alter user$username quota unlimited on$tablespace授予无限表空间角色可能会导致以后出现问题;如果有人试图清除特权,取消该角色也会撤消个人特权,如中所述。@Thank Jon…你的方法更好…你能将此作为答案发布吗?我会接受的。谢谢!