首页 > 解决方案 > 哪个 oracle 数据库用户用于创建表、过程、视图、删除它们并插入到表中

问题描述

我必须知道哪个用户拥有开发人员的角色和权限,如何将他连接到我的可插拔数据库并允许他创建、删除、删除、插入表、创建和删除过程/函数/视图。在我的应用程序 jdbc 中,我可以使用哪个用户。

标签: oracleddlprivileges

解决方案


这是您的数据库吗?我的意思是,您创建了它吗?

那么答案是,您需要为您的应用程序创建至少一个模式,并且可能多达三个。

这是别人的数据库吗?如果是这样,他们应该为您提供您打算使用的帐户的凭据。

假设这是您自己刚刚创建的数据库,请务必不要使用这些默认管理员帐户来执行您的应用程序工作:

  • 系统
  • 系统

相反,请使用这些帐户为您的应用程序创建用户。

请注意,此 USER 将能够对它拥有的任何对象(SCHEMA)做任何它想做的事情。

出于这个原因,您经常会在 Oracle 数据库中找到这种应用程序布局:

  1. 应用程序数据的模式(表、视图、物化视图)
  2. 应用程序代码的模式(PL/SQL 和可能存储的 Java 过程)
  3. 应用程序用户的模式

没有人可以作为应用程序模式登录。

第二个模式中的存储过程只被给予绝对必要的权限来完成他们的工作——也许是在一个表上读取/选择,但如果它只是一个获取数据的过程,则不是插入或更新。

第 3 个模式仅在第 2 个模式上被赋予执行权限。

如果您创建用户,他们可以执行您提到的任何/所有事情 -

创建、删除、删除、插入表、创建和删除过程/函数/视图

但是除非您授予他们这样做的能力,否则他们将无法对另一个模式中的对象/数据执行任何操作。在大多数情况下,您不会这样做。您将编写一个 PL/SQL API 来完成这项工作,然后将此 API 上的执行权限授予您的 APP 用户。


推荐阅读