一、系统权限
用户在当前架构下所具有的权限,是系统规定的权限。
二、角色权限
DBA:用户具有数据库所有的权限。
connect:用户具有连接数据库的权限,用户只能登录Oracle,不可以创建实体、不可以创建数据库结构。
resource:用户可以创建实体,但是不可以创建数据库结构。
三、对象权限
指的是其他拥有用户的对象的权限。包括:select、delete、update、alter、insert、index、references、flashback、query、rewrite、on commit refresh;注意其他用户的权限没有drop权限!
四、grant授权
1、 授权用户connect、resource角色权限。一般创建应用程序开发可以授予这两个角色的权限。
grant connect,resource to zhang;
2、授权用户chenmh用户zhang下person表的select、delete、update、insert权限(增删改查),授予具体地对象权限是对于权限严格控制的一种方案。
grant select,delete,update,inster on zhang.person to chenmh;
3、授予用户chenmh用户zhang下person表的所有权限
grant all privileges on zhang.person to chenmh;
五、remove回收权限
1、回收角色权限
remove connect,resource from chenmh;
2、回收系统权限
remove creat from chenmh;
3、回收用户对象权限,回收zhang用户下person表的所有权限,如果是单个授予的权限需要单个的收回
remove all privileges on zhang.person from chenmh;
六、批量操作
1、批量授予权限,授予用户chenmh拥有zhang下所有表的增删改查权限。生产批量执行sql。
select ' grent select,delete,update,insert on ' || owner || '.' || table_name || ' to chenmh; ' from dba_tables where owner='zhang';
如果要查询其他对象可以查询dba_object表。
2、批量回收系统权限,收回用户chenmh的所有系统权限
select ' remove ' || privilege || ' from chenmh; ' from dba_sys_priv where grantee='chenmh';
3、批量回收角色权限
select ' remove ' || granted_role || ' from chenmh; ' from dba_role_privs where grantee='chenmh' ;
4、批量回收后用户对象权限,收回用户chenmh在架构zhang下的所有权限
select ' remove ' || privilege || ' on ' || owner || '.' || table_name || ' from chenmh; ' from dba_tab_privs where grantee='chenmh' and owner='zhang' order by table_name,privilege;
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Y_Mojito_/article/details/125892128
文章转载自吼吼哈嘿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。