oracle的权限和角色

如何管理权限和角色,权限和角色的区别。

权限分为系统权限和对象权限。如果要执行某种特定的数据库操作,则必须为其授予系统权限;如果用户要访问其他方案的数据对象,则必须为其授予对象权限。

1、系统权限

 (1)常用的系统权限:
create  session  连接数据库

create  table  建表

create  view  建视图

create  public   synonym  建同义词

create  procedure  建过程、函数、包

create  trigger 建触发器

create  cluster 建簇

(2)显示系统权限:

查询数据字典视图system_privilege_map显示所有的系统权限

select   *  from   system_privilege_map  order by name;

(3)授予系统权限

一般情况,授予系统权限是dba完成的,如果用其他用户来授予系统权限,则要求该用户必须具有grant  any privilege的系统权限。在授予系统权限时,可以带有with  admin   option选项,这样,被授予权限的用户或是角色还可以将系统权限授予其他的用户或是角色

eg:

①创建两个用户ken,Tom,出事阶段他们都没有任何权限,如果登陆就会出现错误信息

create   user   ken   identified  by  ken;

②给用户ken授权

grant  create  session,create  table  to ken   with  admin  option;

(4)回收系统权限

一般情况下,回收系统权限是dba来完成的,如果其他用户来回收系统权限,要求该用户必须具有相应系统权限及转授系统权限选项(with  admin  option)。回收系统权限使用revoke来完成。

revoke  create  session  from  ken;

注意:系统权限不是级联回收


2、对象权限

指访问其它方案的数据对象的权利,用户可以直接访问自己方案的对象,但是如果要访问别的方案的对象,则必须具有对象的权限。scott.emp(scott:方案,emp:表)

(1)常用的对象权限:
alter  修改表结构

delete 删除

select 查询

insert  添加

update  修改数据

index  索引

references  引用  

execute 执行

(2)显示对象权限

通过数据字段视图可以显示用户或是角色所具有的对象权限,视图为dba_tab_privs

select  distincet   privilege  from   dba_tab_privs;

select grantor,owner,table_name,privilege  from  dba_tab_privs  where  grantee='BLAKE';

(3)授予对象权限

dba用户和对象所有者可以将对象权限授予其他用户。其中dba用户可以将任何对象上的对象权限授予其它用户。

对象权限可以授予用户,角色和public。在授予权限时,如果带有with  grant   option选项,则可以将该权限转授给其它用户。但是要注意with  grant  option选项不能被授予角色。

grant  select(授予的权限)   on   emp(表)   to  monkey(被授予者);

grant  all(所有的权限)   on   emp(表)   to  monkey(被授予者);

①授予列权限

eg:monkey用户只可以修改scott.emp表的sal字段

grant  update(授予的权限)   on   emp(sal)  -表(字段)    to  monkey(被授予者);

②授予alter权限

如果monkey用户要修改scott.emp表的结构,则必须授予alter对象权限

grant   alter  on  emp   to   monkey

③授予execute权限

如果用户想要执行其它方案的包、过程、函数,则须有execute权限。

eg:为了让ken可以执行包dbms_transaction,可以授execute权限

grant  execute   on  dbms_transaction  to ken;

④授予index权限

如果想在别的方案的表上建立索引,则必须具有index对象权限

grant   index   on   scott.emp  to   monkey;

⑤使用with  grant  option选项

该选项用于转授对象权限,但是该选项只能被授予用户,而不能授予角色

(4)回收对象权限

级联回收

可以由对象所有者完成,也可以由dba用户(sys,system)来完成

revoke  select(权限名称)   on  emp(在哪个表上)  from   monkey(从谁那里回收);


 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值