使用哪个Oracle数据库用户来创建表,过程,视图,将其删除并插入表中

时间:2019-07-02 11:05:36

标签: oracle ddl privileges

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

1 个答案:

答案 0 :(得分:0)

这是您的数据库吗,也就是说,您创建数据库了吗?

然后答案是,您需要为您的应用程序创建至少一个架构,也许多达三个。

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

假设这是您自己创建的数据库,那么不要使用这些默认管理员帐户来完成应用程序的工作非常重要,

  • 系统
  • SYS

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

请注意,此USER将能够对其拥有的任何对象(SCHEMA)执行任何所需的操作。

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

  1. 用于应用程序数据的模式(表,视图,实例化视图)
  2. 应用程序代码(PL / SQL以及可能的存储Java过程)的模式
  3. 应用程序用户的架构

没有人可以登录作为应用程序架构。

第二个模式中的存储过程仅获得完成工作所需的绝对特权-也许在表上进行READ / SELECT,但如果只是用于取回数据的proc,则没有INSERT或UPDATE。

第三个架构仅在第二个架构上具有执行特权。

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

  

创建,删除,删除,插入表,创建和删除   程序/功能/视图

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