Oracle权限语句

授予权限:grant 权限 to 用户名;
撤销权限:revoke 权限 from 用户名;

常用:

创建用户:
create user zhangsan identified by zhangsan;
grant connect, resource to zhangsan;        //授权zhangsan用户连接权限
grant create session to zhangsan;           //授予zhangsan用户创建session的权限,即登陆权限
grant unlimited tablespace to zhangsan;     //授予zhangsan用户使用表空间的权限
grant create table to zhangsan;             //授予创建表的权限
grant drop any table to zhangsan;           //授予删除表的权限
grant insert any table to zhangsan;         //插入表的权限
grant update any table to zhangsan;         //修改表的权限
grant create view to zhangsan;              //创建视图权限

其他

grant update(pass) on mytab to zhangsan;    //授予其他用户对当前用户表中的【某个字段】的操作权限
grant all on mytab to zhangsan;             //授予其他用户操作表的所有权限
revoke all on mytab from zhangsan;          //撤销其他用户操作表的所有权限
select * from user_tab_privs;               //查询其他用户对【当前用户表】的操作权限
select * from user_col_privs;               //查询其他用户对【当前用户表字段】的操作权限

权限传递:

grant create session to zhangsan with admin option;   //系统权限:(表示把系统权限授予给zhangsan,并允许其授予给其他用户) 
grant update on mytab to zhangsan with grant option;  //用户权限:(表示把用户权限授予给zhangsan,并允许其授予给其他用户) 

角色管理:

create role roleName;            //创建角色
grant 权限 to roleName;          //给角色授予权限
grant roleName to userName;     //将角色授予给用户
select * from user_role_privs;  //用户查询拥有的角色
drop role roleName;             //删除角色

注:
当给角色授予权限的时候,拥有此角色的用户也同时增加了权限;
当撤销角色权限的时候,拥有此角色的用户的对应权限也被撤销;
当角色被删除,拥有此角色的用户将丧失之前角色所有的所有权限。

你可能感兴趣的:(数据库,oracle)