我正在谷歌搜索如何创建一个用户并授予他所有权限。
我找到了这两种方法:
第一种方法:
create user userName identified by password;
grant connect to userName;
grant all privileges to userName;
第二种方法:
grant connect , resource to userName identified by password;
那么这两种方法有什么不同呢?
我正在谷歌搜索如何创建一个用户并授予他所有权限。
我找到了这两种方法:
第一种方法:
create user userName identified by password;
grant connect to userName;
grant all privileges to userName;
第二种方法:
grant connect , resource to userName identified by password;
那么这两种方法有什么不同呢?
有两个不同之处:
有两种方法创建用户并向其授予某些权限。
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;
我的问题是,在oracle 11g版中,我无法使用我的“scott”用户创建视图。以下为解决方案:
我的情况下的错误信息
SQL>create view v1 as select * from books where id=10;
权限不足。
解决方案
1)打开命令提示符并将目录更改为Oracle数据库的安装位置。 在我的情况下,我是在E驱动器中下载的,因此我的位置是 E:\app\B_Amar\product\11.2.0\dbhome_1\BIN> 到达该位置后,您必须输入sqlplus sys as sysdba
E:\app\B_Amar\product\11.2.0\dbhome_1\BIN>sqlplus sys as 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.