在Oracle中创建具有所有权限的用户

时间:2014-03-13 17:55:56

标签: oracle

我在谷歌上搜索如何创建用户并授予他所有权限。

我找到了这两种方法:

第一种方法:

create user userName identified by password;
grant connect to userName;
grant all privileges to userName;

第二种方法:

grant connect , resource to userName identified by password;

那么这两种方法的区别是什么?

2 个答案:

答案 0 :(得分:76)

有两点不同:

创建用户并向其授予某些权限的两种方法

create user userName identified by password;
grant connect to userName;

grant connect to userName identified by password;

做同样的事情。它创建了一个用户并授予他连接角色。

不同的结果

资源是oracle中的一个角色,它赋予您创建对象的权限(表,过程,更多但没有视图!)。 ALL PRIVILEGES授予更多系统权限。

要授予用户所有权限,请先运行您的代码段或

grant all privileges to userName identified by password;

答案 1 :(得分:1)

我的问题是,我无法在oracle 11g版中使用“ scott”用户创建视图。所以这是我的解决方案

我的错误

SQL> create view v1 as select * from books where id=10;

权限不足。

解决方案

1)打开cmd并将目录更改为安装oracle数据库的位置。   就我而言,我是从E盘下载的,所以我的位置    E:\ app \ B_Amar \ product \ 11.2.0 \ dbhome_1 \ BIN> 到达该位置后,您必须输入sqlplus sys作为sysdba

E:\ app \ B_Amar \ product \ 11.2.0 \ dbhome_1 \ BIN> sqlplus sys作为sysdba

2)输入密码:在这里,您必须输入在安装oracle软件时提供的密码。

3)在此步骤中,如果要创建新用户,则可以创建,否则,将所有特权赋予现有用户。

用于创建新用户

SQL> create user abc identified by xyz;

这里abc是用户,xyz是密码。

授予abc用户所有特权

SQL> grant all privileges to abc;

 grant succeeded. 

如果看到此消息,则所有特权都授予abc用户。

4)现在从cmd退出,转到您的SQL PLUS并连接到用户,即输入您的用户名和密码。现在您可以愉快地创建视图了。

就我而言

以cmd E:\app\B_Amar\product\11.2.0\dbhome_1\BIN>sqlplus sys as sysdba

SQL> grant all privileges to SCOTT;

grant succeeded.

现在我可以创建视图了。