Oracle权限和角色管理

权限分类

系统权限

数据库级别执行某些操作或针对某一类对象执行某种操作权限 如授权和回收
oracle数据库中有200多种系统权限

对象权限

对某个特定的数据库对象执行某种操作的权限,如增删改查	
共有9种对象权限
对象权限适合对象说明
select表、视图、序列查询数据权限
update表、视图更新
delete表、视图删除
insert表、视图插入
references在其他表中创建外键时可以引用这个表
execute存储过程、函数、包执行pl/sql存储过程、函数、包
read目录读取目录
alter表、序列修改表、序列
index为表创建序列
all所有所有

权限控制

查看系统权限

select * from system_privilege_map;

查看human用户的系统权限

select * from user_sys_privs where username='human';

系统权限

授予权限

grant 权限 to 人||共有 [with amdmin option 系统权限有传递性]

为user1授予create session,create table,create index系统权限。之后用user1为user2授予create table权限

grant create session,create table,create index to user1 with admin option;
connect user1/user1 @ human_resource;
grant create table to user2;

回收权限

revoke 权限 from 人

回收user1的create table,create view 权限

revoke create table,create view from user1;
1.多个管理员给用户授予同一个权限后,如果其中一个管理回收该权限,则该用户不在拥有对应权限
2.回收用户权限的传递性:先回收其系统权限在授权。
3.如果一个用户获得的系统权限具有传递性,并且授予给了其他用户,那么该用户权限被回收后,其他用户权限不受影响。

对象权限

授予权限

grant 权限|all on 模式.表 to 人 [with grant option];

在human模式下的employees表的select、update、insert权限授予给user1后,user1在将select和update权限授予给user2

grant select,update,insert on human.employees to user1 with admin optin;
connect user1/user1@ human_resouce
grant select,update on human.employees to user2;

回收权限

revoke 权限|all on 模式.表 from 人;

回收user1用户在human.employees表的select、update权限

revoke select,update on human.employees from user1;
	注意事项和系统权限1,2一样
	3.该用户对象权限收回后,其他用户的对象权限也被收回。

角色

所谓角色是一系列相关权限的集合

系统预定义角色

角色权限
connectcreate session
dba所有系统权限且带有with admin option
exp_full_database很大
imp_full_database包括数据库导入所需要的权限和角色
resourcecreate系列的很多权限

查询角色权限

查询当前数据库所有预定义角色

select * from dba_roles;

查询各个预定义(某个)

select * from dba_sys_privs (where grantee='');

查询角色

select * from role_sys_privs where  role='...';

自定义角色

创建角色

create role name [not identified用于指定该角色由数据库授权,使角色生效不需要口令]
[identified by password 用于设置角色生效时的口令]

角色授权和回收

和用户一样
grant和revoke

修改角色

修改角色生效和失效的方式
给high_tiger_role 添加口令取消middle_tiger_role的口令

alter role high_tiger_role identified by highrole;
alter role middle_tiger_role not identified;

删除角色

drop role 角色;

激活和屏蔽

屏蔽用户的所有角色

alter user 用户 default role none;

激活用户的某些角色

alter user 用户 default role 角色1,角色2;

激活所有角色(除了xx)

alter user 用户 default role all(except 角色)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值