一:前言
这几天我重新装了下电脑,然后自己有试着去装了下oracle11g,结果还是失败了然后我自己又去下载了最新的oracle12c,oracle12c中有两个用户sys和system,scott已经没有了,所以我自己就想创建一个自己的用户。
二:问题
我自己试了好多次都是报错“ORA-65096: 公用用户名或角色名无效”,最后百度才知道,写法是这样"create user c##xxx identified by xxx";因为现在创建的是cbd下的用户,cbd全称Container Database,中文翻译为数据库容器,还有一种pdb,PDB全称为Pluggable Database,即可插拔数据库。
接下来就是授权问题。
在网上找了下授权的情况,分为三种,connect role,resource role,dba role
(一):connect role
connect role主要就是赋予用户对表操作的权限,比如对表的select、delete、updata、insert等操作,所以connect就是在此时才会显得有意义,拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link);
(二):resource role
网上说的是更可靠和正式的数据库用户可以授予resource role,其实我不太理解这句话,但是我看了后面的说明知道神么时候该赋予权限就可以了。;resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
(三):dba role
dba拥有所有的系统权限。包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。
授权我也实验了下,用原来的那种形式还是不行,必须中这样"grant connect,resource to c##xxx;"
既然可以授权也可以取消授权
取消授权就是:revoke connect ,resource from c##XXX;