当前位置:操作系统 > Unix/Linux >>

lisi用户使用表空间的权限

在lisi账户下,创建表:create table mytable(id int);
  插入一条记录:insert into mytable values(1);
  插入成功。
  也可以删除表:drop table mytable;
  有人可能会产生疑问,既然数据库的权限管理这么严格,上面我们只是授予lisi用户创建表的权限。并没有授予其插入,删除等权限呀。这里我们可以这样理解:当前用户创建了一个表,那么该表就属于该用户,用户既然创建了表,自然就对该表拥有一切权限啦。
  而且:数据库并没有drop table的权限。使用:grant drop table to lisi;出现:权限缺失或无效的错误提示。
数据库中查看权限
查看当前用户的对象权限,使用如下语句:
  select * from user_tab_privs;
  oracle的权限控制粒度很细,甚至可以精确到某一列的权限。
  grant update(name) on mytab to lisi;
  这句执行的效果就是,lisi用户对表mytab仅拥有更新name这一列的权限。
  grant insert(id) on mytab to lisi;
  查看当前用户对数据库表的列的权限:
  select * from user_col_privs;
  在lisi权限下,执行:update wangwu.mytab set name='fdsfa',id="dfs" where id=1;
  执行后显示权限不足。

 

本文出自“大家一起学”

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,