权限
指执行特性类型SQL命令或是访问其它方案对象的权利
包括系统权限和对象权限两种
系统权限介绍
指执行特定类型SQL命令的权利
用于控制用户可以执行的一个或是一组数据库操作
常用的有:
create session | 连接数据库 |
---|---|
create view | 建视图 |
create public synonym | 建同义词 |
create cluster | 建簇 |
create table | 建表 |
create procedure | 建过程、函数、包 |
create trigger | 建触发器 |
显示系统权限
查询数据字典视图system_privilege_map,可以显示所有系统权限
select * from system_privilege_map order by name;
授权系统权限
一般情况下,由dba完成(其他用户必须具有grant any privilege的系统权限)
在授予系统权限时,可以带有with admin option选项
(被授予角色的用户或角色,还可以将该系统权限授予其它用户或角色)
create user ken identified by 123;
grant create session,create view to ken with admin option;
回收系统权限
系统回收权限不是级联
revoke create session from ken;
对象权限介绍
指访问其它方案对象的权利
常用的有:
alter | 修改 |
---|---|
delete | 删除 |
select | 查询 |
insert | 添加 |
update | 修改 |
index | 索引 |
references | 引用 |
execute | 执行 |
显示对象权限
通过数据字段视图可以显示用户或角色所具有的对象权限
视图为dba_tab_privs
conn system/manager;
select distinct privilege from dba_tab_privs;
select grantor,owner,table_name,privilege from dba_tab_privs
where grantee = 'BLAKE';
授予对象权限
由对象的所有者来完成(其他用户必须具有with grant option权限),以及dba用户(sys、system)
grant select on emp to monkey;
授予列权限
grant update emp(sal) to monkey;
回收系统权限
对象回收权限是级联