oracle用户权限管理

时间:2022-10-12 23:37:30

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)

推荐浏览:

https://www.cnblogs.com/buxingzhelyd/p/7865194.html