标签:-- 大神 ota 运算符 对象 高级 多个 get oracle
上一篇的内容在这里 第二篇内容,
用户权限:创建用户,创建角色,使用grant 和 revoke 语句赋予和回收权限,创建数据库联接
创建用户:create user xxx identified by pass: xxx为 新创建用户的用户名,pass 为密码
在这里强调的是 oracle 12c版本 必须创建用户以C##开头,也可以更改,详见百度 ,哈哈
但是新创建的用户并没有create session 权限,见图,登陆被拒绝
授予用户权限 :grant 权限 to 用户
由于他没有create session 权限,我们可以赋予其权限 :grant create session to c##wangziqiang; 这时候就可以登录了
后续的需要的权限自己赋予即可,大神贴
创建表create table emp(id number(10),name varchar2(20)); 这时候会提示权限不足 。
赋予create table 的权限:grant create table to c##wangziqiang; 这时候就可以进行创建表了
如果提示表空间错误,可以进行更改表空间: alter user userName quota unlimited on users;这里是为userName创建了一个不限大小的表空间,如果限制表空间的话,需要 把unlimited 改成自己想设置的值 例如: 5m 即 五兆的大小
更改自己密码 :alter user c##wangziqiang identified by 123;
创建角色:角色集成一个或多个权限,把某角色给某用户,用户就拥有了该角色的所有权限,相当于一个头衔,
create role c##myrole;创建了一个名为myrole 的角色
grant create table,create view ... to c##myrole:为角色赋予权限
grant c##myroleto user:将角色赋予用户
将自己的对象的相关权限赋予 他人:就是把自己表视图等的增删改查的权限赋给别人,
如图wangziqiang用户没有dvf 用户jobs表的相关权限,当查询时会提示,表或视图不存在
我们来给wangziqiang用户赋予dvf用户的jobs表的查询权限,
grant select --相关权限,用逗号分隔
on dvf.jobs -- 哪个用户的那个表
to c##wangziqiang; --赋给谁
这时候再次查询就会出现jobs表的信息
当A授予B用户自己的表的相关权限,默认的是B不能再把A给B的权限赋给别人。通过末尾加上 with grant option ,来设置B也可以赋给别人A的表的相关权限
当一张表需要所有人都拥有此表的相关权限的时候,我们可以用public 来为所有用户分配该表得权限:grant select --相关权限,用逗号分隔
on dvf.jobs -- 哪个用户的那个表
to public; --赋给所有用户
命令:select * from user_tab_privs_recd; 在wangziqiang用户下查询用户拥有的关于表对象权限,如下图,此用户拥有 dvf用户的jobs表的select权限
删除相关权限:revoke select on dvf.jobs from c##wangziqiang; 删除select权限 在 dvf用户的jobs表上的,从c##wangziqiang这里收回,就是从c##wangziqiang用户这收回dvf的jobs 表的查询权限,
命令运行完,再查wangziqing用户下的拥有的关于表对象的权限,这时候相关的权限已经取消掉了
Oracle-3 - :超级适合初学者的入门级笔--用户权限,set运算符,高级子查询
标签:-- 大神 ota 运算符 对象 高级 多个 get oracle
原文地址:http://www.cnblogs.com/wzqjy/p/7794558.html