我在谷歌上搜索如何创建用户并授予他所有权限。
我找到了这两种方法:
第一种方法:
create user userName identified by password;
grant connect to userName;
grant all privileges to userName;
第二种方法:
grant connect , resource to userName identified by password;
那么这两种方法的区别是什么?
答案 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.
现在我可以创建视图了。