【发布时间】:2019-07-02 11:05:36
【问题描述】:
我必须知道哪个用户拥有开发人员的角色和权限,如何将他连接到我的可插拔数据库并允许他创建、删除、删除、插入表、创建和删除过程/函数/意见。 在我的应用程序 jdbc 中,我可以使用哪个用户。
【问题讨论】:
标签: oracle ddl privileges
我必须知道哪个用户拥有开发人员的角色和权限,如何将他连接到我的可插拔数据库并允许他创建、删除、删除、插入表、创建和删除过程/函数/意见。 在我的应用程序 jdbc 中,我可以使用哪个用户。
【问题讨论】:
标签: oracle ddl privileges
这是您的数据库吗?我的意思是,您创建了它吗?
那么答案是,您需要为您的应用程序创建至少一个架构,可能多达三个。
这是别人的数据库吗?如果是这样,他们应该为您提供您打算使用的帐户的凭据。
假设这是您自己刚刚创建的数据库,请务必不要使用这些默认管理员帐户来执行您的应用程序工作:
改为使用这些帐户为您的应用程序创建用户。
请注意,此 USER 将能够对其拥有的任何对象(SCHEMA)做任何想做的事情。
因此,您经常会在 Oracle 数据库中找到这种应用程序布局:
没有人可以作为应用程序架构登录。
第二个模式中的存储过程只被赋予了绝对必要的权限来完成他们的工作——也许是在一个表上读取/选择,但如果它只是一个获取数据的过程,则不是插入或更新。
第三个模式只在第二个模式上被赋予执行权限。
如果你创建了一个用户,他们可以做你提到的任何/所有事情 -
创建、删除、删除、插入表、创建和删除 程序/函数/视图
但除非您授予他们这样做的能力,否则他们将无法对另一个架构中的对象/数据执行任何操作。在大多数情况下,您不会这样做。您将编写一个 PL/SQL API 来完成这项工作,然后将此 API 上的执行权限授予您的 APP 用户。
【讨论】: