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

在Oracle中创建具有所有权限的用户,oracle,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种方法创建用户并向其

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

我发现有两种方法:

第一种方法:

create user userName identified by password;
grant connect to userName;
grant all privileges to userName;
第二种方法:

grant connect , resource to userName identified by password;

那么这两种方法有什么区别呢?

有两种区别:

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

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

完全一样。它创建一个用户并授予他连接角色

不同的结果

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

要授予用户所有权限,请运行第一个代码段或

grant all privileges to userName identified by password;

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

我的案例中出现错误

SQL>
创建视图v1作为从id=10的书籍中选择*

特权不足

解决方案

1) 打开cmd并将目录更改为安装oracle数据库的位置。 在我的情况下,我是在E-drive中下载的,所以我的位置是 E:\app\B\u Amar\product\11.2.0\dbhome\u 1\BIN> 到达该位置后,必须键入sqlplus sys作为sysdba

E:\app\B\u Amar\product\11.2.0\dbhome\u 1\BIN>sqlplus sys作为sysdba

2) 输入密码:您必须在此处键入安装oracle软件时提供的密码

3) 在此步骤中,如果您想创建一个新用户,那么您可以创建其他用户,并将所有权限授予现有用户

用于创建新用户

SQL>
创建由xyz标识的用户abc

这里abc是用户,xyz是密码

将所有权限授予abc用户

SQL>
将所有特权授予abc

 grant succeeded. 
如果您看到此消息,则所有权限都将授予abc用户

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

就我而言

在cmd
E:\app\B\u Amar\product\11.2.0\dbhome\u 1\BIN>sqlplus sys as sysdba

SQL>
将所有特权授予SCOTT

grant succeeded.

现在我可以创建视图了。

当我执行命令时,将所有特权授予testuser标识的testuser;我得到的错误是“ORA-65052:语句涉及不同容器作用域的操作”,对此有什么线索吗?我使用的是Oracle Database 12c Enterprise Edition 12.2.0.1.0-64位产品,我得到“ORA-65049:此容器中不允许创建本地用户或角色。”
grant succeeded.