oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
1.查看当前数据库所有用户:
select * from all_users;
2.查看表所支持的权限:
select * from user_tab_privs;
3.把表的权限赋予用户:
grant select,insert,update on table_name to username1,username2;
删除权限:
revoke select,insert,update on table_name from username1,username2;
多用户运维下,管理用户比较麻烦,一般是权限赋予某个角色,再把该角色权限全部赋予其他用户,这样方便新增表时,只要把新表的权限给最顶端的角色即可,不需要分别给所有用户授权。
创建角色(dba):
create role R_SELNN_PRIENT;
把角色权限授予其他用户(dba):
grant R_SELNN_PRIENT to userNameXX;
回收用户的角色权限(dba):
revoke R_SELNN_PRIENT from userNameXX;
比如:分别建立_R_SELNN_PRIENT,R_UPDNN_PRIENT,select和操作角色,其他用户继承这两个角色权限_
建表后:
grant select on 表名 to R_SELNN_PRIENT;
grant insert on 表名 to R_UPDNN_PRIENT;
grant update on 表名 to R_UPDNN_PRIENT;
grant delete on 表名 to R_UPDNN_PRIENT;
建立sequence后:
grant select on SEQ名 to R_UPDNN_PRIENT;
4.查看没有权限的表:
SELECT * FROM user_tables where table_name not in (select table_name from user_tab_privs)
推荐浏览: