oracle11g - 使用组织索引创建表时“无特权”
问题描述
我正在运行 Oracle 11.g,并且我使用的 id 具有 DBA 角色(据说是完全访问权限)。
当我尝试在另一个模式下创建表时,它工作正常。但是,当我尝试使用组织索引创建表时,系统提示我
ORA-01950: no privileges on tablespace
我仔细检查了我的 id 有无限的表空间。我的 ID 和目标模式都在同一个表空间中。
补充信息:我能够在我自己的架构下运行带有组织索引的相同 creat table 语句。
解决方案
创建对象可能需要两个权限:您的用户需要创建对象的权限,而架构所有者需要使用与该对象相关的资源的权限。因此,虽然您能够在另一个模式中创建表,但该模式还需要将数据写入相关表空间的权限:
alter user $username quota unlimited on $tablespace;
这种方法比授予UNLIMITED TABLESPACE
角色更安全。该角色授予的权限超出了必要的范围,如果稍后有人尝试清除权限,则撤销该角色也会撤消个人权限,如本文所述。
推荐阅读
- c - qemu:未捕获的目标信号 11(分段错误) - 尝试返回结构时核心转储
- postgresql - 如何循环json数据并计算postgres中的值
- python - 使用多项式回归时如何解释从“LinearRegression().coef_”返回的系数
- python - 如何在单个 vhost 上服务 django 和 gatsby?
- delphi - 动态数组作为 delphi/pascal 对象中的类型
- c# - BotFramework V4:如何从机器人发送事件并在反应 WebChat 中捕获它?
- python - NameError: name 'self' is not defined 解释
- javascript - 使用 setAttributeNode 设置单元格的 colspan 会在 IE 中引发错误
- r - 如何将特定单词替换为R中的另一个单词
- php - Firefox 返回 HTTP 200 尽管它是 401