【问题标题】:Unable to grant myself access to tables that I created in Oracle无法授予自己访问我在 Oracle 中创建的表的权限
【发布时间】:2018-12-14 18:15:03
【问题描述】:

我有一个 Oracle DB,我正在使用系统用户名。使用 C#,我使用系统用户名/密码创建了一些表。当我登录到 sql developer 并查看该表的权限时,它不会将系统用户(具有 dba 角色和 MGMT_USER 角色)显示为具有选择/插入/更新/删除权限(或任何与此相关的权限) .

“您不得授予/撤销您自己的权限”

为什么我的管理员用户无权访问这些表,我如何获得它?

【问题讨论】:

  • 永远不要,永远不要使用 SYSTEM(或 SYS)帐户来创建常规表。创建一个普通用户并使用它。不要将 SYSTEM 帐户用于 DBA 工作以外的任何事情(例如创建用户)

标签: sql oracle


【解决方案1】:

@TenG 所说的 - 你不能授予你自己拥有的对象的权限 - 你拥有这些权限作为所有者。

更重要的是,不要使用 SYSTEM 帐户创建对象,尤其是不要在 SYSTEM 架构中创建它们。

使用 SYSTEM 创建您的应用程序用户,以该用户身份登录,然后创建您的对象。

【讨论】:

    【解决方案2】:

    在 Oracle 中,作为所有者意味着您对表拥有隐式授权。

    无需在自己的对象上授予自己权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-13
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多